RetroArch
vulkan.hpp
Go to the documentation of this file.
1 // Copyright (c) 2015-2018 The Khronos Group Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 // This header is generated from the Khronos Vulkan XML API Registry.
16 
17 #ifndef VULKAN_HPP
18 #define VULKAN_HPP
19 
20 #include <algorithm>
21 #include <array>
22 #include <cstddef>
23 #include <cstdint>
24 #include <cstring>
25 #include <initializer_list>
26 #include <string>
27 #include <system_error>
28 #include <tuple>
29 #include <type_traits>
30 #include <vulkan/vulkan.h>
31 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32 # include <memory>
33 # include <vector>
34 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35 #if !defined(VULKAN_HPP_ASSERT)
36 # include <cassert>
37 # define VULKAN_HPP_ASSERT assert
38 #endif
39 static_assert( VK_HEADER_VERSION == 73 , "Wrong VK_HEADER_VERSION!" );
40 
41 // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
42 // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
43 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
44 # if !defined( VULKAN_HPP_TYPESAFE_CONVERSION )
45 # define VULKAN_HPP_TYPESAFE_CONVERSION
46 # endif
47 #endif
48 
49 #if !defined(VULKAN_HPP_HAS_UNRESTRICTED_UNIONS)
50 # if defined(__clang__)
51 # if __has_feature(cxx_unrestricted_unions)
52 # define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
53 # endif
54 # elif defined(__GNUC__)
55 # define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
56 # if 40600 <= GCC_VERSION
57 # define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
58 # endif
59 # elif defined(_MSC_VER)
60 # if 1900 <= _MSC_VER
61 # define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
62 # endif
63 # endif
64 #endif
65 
66 #if !defined(VULKAN_HPP_INLINE)
67 # if defined(__clang___)
68 # if __has_attribute(always_inline)
69 # define VULKAN_HPP_INLINE __attribute__((always_inline)) __inline__
70 # else
71 # define VULKAN_HPP_INLINE inline
72 # endif
73 # elif defined(__GNUC__)
74 # define VULKAN_HPP_INLINE __attribute__((always_inline)) __inline__
75 # elif defined(_MSC_VER)
76 # define VULKAN_HPP_INLINE __forceinline
77 # else
78 # define VULKAN_HPP_INLINE inline
79 # endif
80 #endif
81 
82 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
83 # define VULKAN_HPP_TYPESAFE_EXPLICIT
84 #else
85 # define VULKAN_HPP_TYPESAFE_EXPLICIT explicit
86 #endif
87 
88 #if defined(_MSC_VER) && (_MSC_VER <= 1800)
89 # define VULKAN_HPP_CONSTEXPR
90 #else
91 # define VULKAN_HPP_CONSTEXPR constexpr
92 #endif
93 
94 
95 #if !defined(VULKAN_HPP_NAMESPACE)
96 #define VULKAN_HPP_NAMESPACE vk
97 #endif
98 
99 #define VULKAN_HPP_STRINGIFY2(text) #text
100 #define VULKAN_HPP_STRINGIFY(text) VULKAN_HPP_STRINGIFY2(text)
101 #define VULKAN_HPP_NAMESPACE_STRING VULKAN_HPP_STRINGIFY(VULKAN_HPP_NAMESPACE)
102 
104 {
105 
106  template <typename FlagBitsType> struct FlagTraits
107  {
108  enum { allFlags = 0 };
109  };
110 
111  template <typename BitType, typename MaskType = VkFlags>
112  class Flags
113  {
114  public:
116  : m_mask(0)
117  {
118  }
119 
120  Flags(BitType bit)
121  : m_mask(static_cast<MaskType>(bit))
122  {
123  }
124 
125  Flags(Flags<BitType> const& rhs)
126  : m_mask(rhs.m_mask)
127  {
128  }
129 
130  explicit Flags(MaskType flags)
131  : m_mask(flags)
132  {
133  }
134 
136  {
137  m_mask = rhs.m_mask;
138  return *this;
139  }
140 
142  {
143  m_mask |= rhs.m_mask;
144  return *this;
145  }
146 
148  {
149  m_mask &= rhs.m_mask;
150  return *this;
151  }
152 
154  {
155  m_mask ^= rhs.m_mask;
156  return *this;
157  }
158 
160  {
161  Flags<BitType> result(*this);
162  result |= rhs;
163  return result;
164  }
165 
167  {
168  Flags<BitType> result(*this);
169  result &= rhs;
170  return result;
171  }
172 
174  {
175  Flags<BitType> result(*this);
176  result ^= rhs;
177  return result;
178  }
179 
180  bool operator!() const
181  {
182  return !m_mask;
183  }
184 
186  {
187  Flags<BitType> result(*this);
189  return result;
190  }
191 
192  bool operator==(Flags<BitType> const& rhs) const
193  {
194  return m_mask == rhs.m_mask;
195  }
196 
197  bool operator!=(Flags<BitType> const& rhs) const
198  {
199  return m_mask != rhs.m_mask;
200  }
201 
202  explicit operator bool() const
203  {
204  return !!m_mask;
205  }
206 
207  explicit operator MaskType() const
208  {
209  return m_mask;
210  }
211 
212  private:
213  MaskType m_mask;
214  };
215 
216  template <typename BitType>
218  {
219  return flags | bit;
220  }
221 
222  template <typename BitType>
224  {
225  return flags & bit;
226  }
227 
228  template <typename BitType>
230  {
231  return flags ^ bit;
232  }
233 
234 
235  template <typename RefType>
236  class Optional
237  {
238  public:
239  Optional(RefType & reference) { m_ptr = &reference; }
240  Optional(RefType * ptr) { m_ptr = ptr; }
241  Optional(std::nullptr_t) { m_ptr = nullptr; }
242 
243  operator RefType*() const { return m_ptr; }
244  RefType const* operator->() const { return m_ptr; }
245  explicit operator bool() const { return !!m_ptr; }
246 
247  private:
248  RefType *m_ptr;
249  };
250 
251 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
252  template <typename T>
254  {
255  public:
257  : m_count(0)
258  , m_ptr(nullptr)
259  {}
260 
262  : m_count(1)
263  , m_ptr(&ptr)
264  {}
265 
267  : m_count(count)
268  , m_ptr(ptr)
269  {}
270 
271  template <size_t N>
272  ArrayProxy(std::array<typename std::remove_const<T>::type, N> & data)
273  : m_count(N)
274  , m_ptr(data.data())
275  {}
276 
277  template <size_t N>
278  ArrayProxy(std::array<typename std::remove_const<T>::type, N> const& data)
279  : m_count(N)
280  , m_ptr(data.data())
281  {}
282 
284  ArrayProxy(std::vector<typename std::remove_const<T>::type, Allocator> & data)
285  : m_count(static_cast<uint32_t>(data.size()))
286  , m_ptr(data.data())
287  {}
288 
290  ArrayProxy(std::vector<typename std::remove_const<T>::type, Allocator> const& data)
291  : m_count(static_cast<uint32_t>(data.size()))
292  , m_ptr(data.data())
293  {}
294 
295  ArrayProxy(std::initializer_list<T> const& data)
296  : m_count(static_cast<uint32_t>(data.end() - data.begin()))
297  , m_ptr(data.begin())
298  {}
299 
300  const T * begin() const
301  {
302  return m_ptr;
303  }
304 
305  const T * end() const
306  {
307  return m_ptr + m_count;
308  }
309 
310  const T & front() const
311  {
313  return *m_ptr;
314  }
315 
316  const T & back() const
317  {
319  return *(m_ptr + m_count - 1);
320  }
321 
322  bool empty() const
323  {
324  return (m_count == 0);
325  }
326 
327  uint32_t size() const
328  {
329  return m_count;
330  }
331 
332  T * data() const
333  {
334  return m_ptr;
335  }
336 
337  private:
339  T * m_ptr;
340  };
341 #endif
342 
343 #ifndef VULKAN_HPP_NO_SMART_HANDLE
344 
345  template <typename Type> class UniqueHandleTraits;
346 
347  template <typename Type>
348  class UniqueHandle : public UniqueHandleTraits<Type>::deleter
349  {
350  private:
352  public:
353  explicit UniqueHandle( Type const& value = Type(), Deleter const& deleter = Deleter() )
354  : Deleter( deleter)
355  , m_value( value )
356  {}
357 
358  UniqueHandle( UniqueHandle const& ) = delete;
359 
361  : Deleter( std::move( static_cast<Deleter&>( other ) ) )
362  , m_value( other.release() )
363  {}
364 
366  {
367  if ( m_value ) this->destroy( m_value );
368  }
369 
370  UniqueHandle & operator=( UniqueHandle const& ) = delete;
371 
373  {
374  reset( other.release() );
375  *static_cast<Deleter*>(this) = std::move( static_cast<Deleter&>(other) );
376  return *this;
377  }
378 
379  explicit operator bool() const
380  {
381  return m_value.operator bool();
382  }
383 
384  Type const* operator->() const
385  {
386  return &m_value;
387  }
388 
390  {
391  return &m_value;
392  }
393 
394  Type const& operator*() const
395  {
396  return m_value;
397  }
398 
400  {
401  return m_value;
402  }
403 
404  const Type & get() const
405  {
406  return m_value;
407  }
408 
409  Type & get()
410  {
411  return m_value;
412  }
413 
414  void reset( Type const& value = Type() )
415  {
416  if ( m_value != value )
417  {
418  if ( m_value ) this->destroy( m_value );
419  m_value = value;
420  }
421  }
422 
424  {
425  Type value = m_value;
426  m_value = nullptr;
427  return value;
428  }
429 
430  void swap( UniqueHandle<Type> & rhs )
431  {
432  std::swap(m_value, rhs.m_value);
433  std::swap(static_cast<Deleter&>(*this), static_cast<Deleter&>(rhs));
434  }
435 
436  private:
438  };
439 
440  template <typename Type>
442  {
443  lhs.swap( rhs );
444  }
445 #endif
446 
447 
448  template <typename X, typename Y> struct isStructureChainValid { enum { value = false }; };
449 
450  template <class Element>
452  {
453  public:
454  explicit operator Element&() { return value; }
455  explicit operator const Element&() const { return value; }
456  private:
457  Element value;
458  };
459 
460  template<typename ...StructureElements>
461  class StructureChain : private StructureChainElement<StructureElements>...
462  {
463  public:
465  {
466  link<StructureElements...>();
467  }
468 
470  {
471  linkAndCopy<StructureElements...>(rhs);
472  }
473 
475  {
476  linkAndCopy<StructureElements...>(rhs);
477  return *this;
478  }
479 
480  template<typename ClassType> ClassType& get() { return static_cast<ClassType&>(*this);}
481 
482  private:
483  template<typename X>
484  void link()
485  {
486  }
487 
488  template<typename X, typename Y, typename ...Z>
489  void link()
490  {
491  static_assert(isStructureChainValid<X,Y>::value, "The structure chain is not valid!");
492  X& x = static_cast<X&>(*this);
493  Y& y = static_cast<Y&>(*this);
494  x.pNext = &y;
495  link<Y, Z...>();
496  }
497 
498  template<typename X>
499  void linkAndCopy(StructureChain const &rhs)
500  {
501  static_cast<X&>(*this) = static_cast<X const &>(rhs);
502  }
503 
504  template<typename X, typename Y, typename ...Z>
505  void linkAndCopy(StructureChain const &rhs)
506  {
507  static_assert(isStructureChainValid<X,Y>::value, "The structure chain is not valid!");
508  X& x = static_cast<X&>(*this);
509  Y& y = static_cast<Y&>(*this);
510  x = static_cast<X const &>(rhs);
511  x.pNext = &y;
512  linkAndCopy<Y, Z...>(rhs);
513  }
514 
515 };
516  enum class Result
517  {
549  };
550 
552  {
553  switch (value)
554  {
555  case Result::eSuccess: return "Success";
556  case Result::eNotReady: return "NotReady";
557  case Result::eTimeout: return "Timeout";
558  case Result::eEventSet: return "EventSet";
559  case Result::eEventReset: return "EventReset";
560  case Result::eIncomplete: return "Incomplete";
561  case Result::eErrorOutOfHostMemory: return "ErrorOutOfHostMemory";
562  case Result::eErrorOutOfDeviceMemory: return "ErrorOutOfDeviceMemory";
563  case Result::eErrorInitializationFailed: return "ErrorInitializationFailed";
564  case Result::eErrorDeviceLost: return "ErrorDeviceLost";
565  case Result::eErrorMemoryMapFailed: return "ErrorMemoryMapFailed";
566  case Result::eErrorLayerNotPresent: return "ErrorLayerNotPresent";
567  case Result::eErrorExtensionNotPresent: return "ErrorExtensionNotPresent";
568  case Result::eErrorFeatureNotPresent: return "ErrorFeatureNotPresent";
569  case Result::eErrorIncompatibleDriver: return "ErrorIncompatibleDriver";
570  case Result::eErrorTooManyObjects: return "ErrorTooManyObjects";
571  case Result::eErrorFormatNotSupported: return "ErrorFormatNotSupported";
572  case Result::eErrorFragmentedPool: return "ErrorFragmentedPool";
573  case Result::eErrorOutOfPoolMemory: return "ErrorOutOfPoolMemory";
574  case Result::eErrorInvalidExternalHandle: return "ErrorInvalidExternalHandle";
575  case Result::eErrorSurfaceLostKHR: return "ErrorSurfaceLostKHR";
576  case Result::eErrorNativeWindowInUseKHR: return "ErrorNativeWindowInUseKHR";
577  case Result::eSuboptimalKHR: return "SuboptimalKHR";
578  case Result::eErrorOutOfDateKHR: return "ErrorOutOfDateKHR";
579  case Result::eErrorIncompatibleDisplayKHR: return "ErrorIncompatibleDisplayKHR";
580  case Result::eErrorValidationFailedEXT: return "ErrorValidationFailedEXT";
581  case Result::eErrorInvalidShaderNV: return "ErrorInvalidShaderNV";
582  case Result::eErrorFragmentationEXT: return "ErrorFragmentationEXT";
583  case Result::eErrorNotPermittedEXT: return "ErrorNotPermittedEXT";
584  default: return "invalid";
585  }
586  }
587 
588 #ifndef VULKAN_HPP_NO_EXCEPTIONS
589 #if defined(_MSC_VER) && (_MSC_VER == 1800)
590 # define noexcept _NOEXCEPT
591 #endif
592 
593  class ErrorCategoryImpl : public std::error_category
594  {
595  public:
596  virtual const char* name() const noexcept override { return VULKAN_HPP_NAMESPACE_STRING"::Result"; }
597  virtual std::string message(int ev) const override { return to_string(static_cast<Result>(ev)); }
598  };
599 
600 #if defined(_MSC_VER) && (_MSC_VER == 1800)
601 # undef noexcept
602 #endif
603 
604  VULKAN_HPP_INLINE const std::error_category& errorCategory()
605  {
606  static ErrorCategoryImpl instance;
607  return instance;
608  }
609 
611  {
612  return std::error_code(static_cast<int>(e), errorCategory());
613  }
614 
616  {
617  return std::error_condition(static_cast<int>(e), errorCategory());
618  }
619 
620 #if defined(_MSC_VER) && (_MSC_VER == 1800)
621 # define noexcept _NOEXCEPT
622 #endif
623 
624  class Error
625  {
626  public:
627  virtual ~Error() = default;
628 
629  virtual const char* what() const noexcept = 0;
630  };
631 
632  class LogicError : public Error, public std::logic_error
633  {
634  public:
635  explicit LogicError( const std::string& what )
636  : Error(), std::logic_error(what) {}
637  explicit LogicError( char const * what )
638  : Error(), std::logic_error(what) {}
639  virtual ~LogicError() = default;
640 
641  virtual const char* what() const noexcept { return std::logic_error::what(); }
642  };
643 
644  class SystemError : public Error, public std::system_error
645  {
646  public:
647  SystemError( std::error_code ec )
648  : Error(), std::system_error(ec) {}
649  SystemError( std::error_code ec, std::string const& what )
650  : Error(), std::system_error(ec, what) {}
651  SystemError( std::error_code ec, char const * what )
652  : Error(), std::system_error(ec, what) {}
653  SystemError( int ev, std::error_category const& ecat )
654  : Error(), std::system_error(ev, ecat) {}
655  SystemError( int ev, std::error_category const& ecat, std::string const& what)
656  : Error(), std::system_error(ev, ecat, what) {}
657  SystemError( int ev, std::error_category const& ecat, char const * what)
658  : Error(), std::system_error(ev, ecat, what) {}
659  virtual ~SystemError() = default;
660 
661  virtual const char* what() const noexcept { return std::system_error::what(); }
662  };
663 
664 #if defined(_MSC_VER) && (_MSC_VER == 1800)
665 # undef noexcept
666 #endif
667 
669  {
670  public:
675  };
677  {
678  public:
683  };
685  {
686  public:
691  };
693  {
694  public:
697  DeviceLostError( char const * message )
699  };
701  {
702  public:
707  };
709  {
710  public:
715  };
717  {
718  public:
723  };
725  {
726  public:
731  };
733  {
734  public:
739  };
741  {
742  public:
745  TooManyObjectsError( char const * message )
747  };
749  {
750  public:
755  };
757  {
758  public:
761  FragmentedPoolError( char const * message )
763  };
765  {
766  public:
771  };
773  {
774  public:
779  };
781  {
782  public:
785  SurfaceLostKHRError( char const * message )
787  };
789  {
790  public:
795  };
797  {
798  public:
801  OutOfDateKHRError( char const * message )
803  };
805  {
806  public:
811  };
813  {
814  public:
819  };
821  {
822  public:
827  };
829  {
830  public:
835  };
837  {
838  public:
843  };
844 
846  {
847  switch ( result )
848  {
871  default: throw SystemError( make_error_code( result ) );
872  }
873  }
874 #endif
875 } // namespace VULKAN_HPP_NAMESPACE
876 
877 namespace std
878 {
879  template <>
880  struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
881  {};
882 }
883 
884 namespace VULKAN_HPP_NAMESPACE
885 {
886 
887  template <typename T>
888  struct ResultValue
889  {
891  : result( r )
892  , value( v )
893  {}
894 
896  : result( r )
897  , value( std::move( v ) )
898  {}
899 
902 
903  operator std::tuple<Result&, T&>() { return std::tuple<Result&, T&>(result, value); }
904  };
905 
906  template <typename T>
908  {
909 #ifdef VULKAN_HPP_NO_EXCEPTIONS
910  typedef ResultValue<T> type;
911 #else
912  typedef T type;
913 #endif
914  };
915 
916  template <>
918  {
919 #ifdef VULKAN_HPP_NO_EXCEPTIONS
920  typedef Result type;
921 #else
922  typedef void type;
923 #endif
924  };
925 
927  {
928 #ifdef VULKAN_HPP_NO_EXCEPTIONS
930  return result;
931 #else
932  if ( result != Result::eSuccess )
933  {
935  }
936 #endif
937  }
938 
939  template <typename T>
941  {
942 #ifdef VULKAN_HPP_NO_EXCEPTIONS
944  return ResultValue<T>( result, data );
945 #else
946  if ( result != Result::eSuccess )
947  {
949  }
950  return std::move( data );
951 #endif
952  }
953 
954  VULKAN_HPP_INLINE Result createResultValue( Result result, char const * message, std::initializer_list<Result> successCodes )
955  {
956 #ifdef VULKAN_HPP_NO_EXCEPTIONS
957  VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
958 #else
959  if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
960  {
962  }
963 #endif
964  return result;
965  }
966 
967  template <typename T>
968  VULKAN_HPP_INLINE ResultValue<T> createResultValue( Result result, T & data, char const * message, std::initializer_list<Result> successCodes )
969  {
970 #ifdef VULKAN_HPP_NO_EXCEPTIONS
971  VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
972 #else
973  if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
974  {
976  }
977 #endif
978  return ResultValue<T>( result, data );
979  }
980 
981 #ifndef VULKAN_HPP_NO_SMART_HANDLE
982  template <typename T>
984  {
985 #ifdef VULKAN_HPP_NO_EXCEPTIONS
988 #else
989  if ( result != Result::eSuccess )
990  {
992  }
993  return UniqueHandle<T>(data, deleter);
994 #endif
995  }
996 #endif
997 
998 
999  struct AllocationCallbacks;
1000 
1001  template <typename OwnerType>
1003  {
1004  public:
1005  ObjectDestroy(OwnerType owner = OwnerType(), Optional<const AllocationCallbacks> allocator = nullptr)
1006  : m_owner(owner)
1007  , m_allocator(allocator)
1008  {}
1009 
1010  OwnerType getOwner() const { return m_owner; }
1012 
1013  protected:
1014  template <typename T>
1015  void destroy(T t)
1016  {
1017  m_owner.destroy(t, m_allocator);
1018  }
1019 
1020  private:
1021  OwnerType m_owner;
1023  };
1024 
1025  class NoParent;
1026 
1027  template <>
1028  class ObjectDestroy<NoParent>
1029  {
1030  public:
1032  : m_allocator( allocator )
1033  {}
1034 
1036 
1037  protected:
1038  template <typename T>
1039  void destroy(T t)
1040  {
1041  t.destroy( m_allocator );
1042  }
1043 
1044  private:
1046  };
1047 
1048  template <typename OwnerType>
1050  {
1051  public:
1052  ObjectFree(OwnerType owner = OwnerType(), Optional<const AllocationCallbacks> allocator = nullptr)
1053  : m_owner(owner)
1054  , m_allocator(allocator)
1055  {}
1056 
1057  OwnerType getOwner() const { return m_owner; }
1059 
1060  protected:
1061  template <typename T>
1062  void destroy(T t)
1063  {
1064  m_owner.free(t, m_allocator);
1065  }
1066 
1067  private:
1068  OwnerType m_owner;
1070  };
1071 
1072  template <typename OwnerType, typename PoolType>
1073  class PoolFree
1074  {
1075  public:
1076  PoolFree(OwnerType owner = OwnerType(), PoolType pool = PoolType())
1077  : m_owner(owner)
1078  , m_pool(pool)
1079  {}
1080 
1081  OwnerType getOwner() const { return m_owner; }
1082  PoolType getPool() const { return m_pool; }
1083 
1084  protected:
1085  template <typename T>
1086  void destroy(T t)
1087  {
1088  m_owner.free(m_pool, t);
1089  }
1090 
1091  private:
1092  OwnerType m_owner;
1093  PoolType m_pool;
1094  };
1095 
1097 {
1098 public:
1099  VkResult vkAcquireNextImage2KHR( VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex ) const
1100  {
1101  return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex);
1102  }
1103  VkResult vkAcquireNextImageKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex ) const
1104  {
1105  return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex);
1106  }
1107 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
1108  VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display ) const
1109  {
1110  return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display);
1111  }
1112 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
1113  VkResult vkAllocateCommandBuffers( VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers ) const
1114  {
1115  return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers);
1116  }
1117  VkResult vkAllocateDescriptorSets( VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets ) const
1118  {
1119  return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets);
1120  }
1121  VkResult vkAllocateMemory( VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory ) const
1122  {
1123  return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory);
1124  }
1125  VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo ) const
1126  {
1127  return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo);
1128  }
1129  VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const
1130  {
1131  return ::vkBindBufferMemory( device, buffer, memory, memoryOffset);
1132  }
1133  VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos ) const
1134  {
1135  return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos);
1136  }
1137  VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos ) const
1138  {
1139  return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos);
1140  }
1141  VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const
1142  {
1143  return ::vkBindImageMemory( device, image, memory, memoryOffset);
1144  }
1145  VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos ) const
1146  {
1147  return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos);
1148  }
1149  VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos ) const
1150  {
1151  return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos);
1152  }
1153  void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo ) const
1154  {
1155  return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo);
1156  }
1157  void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) const
1158  {
1159  return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags);
1160  }
1161  void vkCmdBeginRenderPass( VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents ) const
1162  {
1163  return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents);
1164  }
1165  void vkCmdBindDescriptorSets( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets ) const
1166  {
1167  return ::vkCmdBindDescriptorSets( commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
1168  }
1169  void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) const
1170  {
1171  return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType);
1172  }
1173  void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const
1174  {
1175  return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline);
1176  }
1177  void vkCmdBindVertexBuffers( VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets ) const
1178  {
1179  return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
1180  }
1181  void vkCmdBlitImage( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter ) const
1182  {
1183  return ::vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
1184  }
1185  void vkCmdClearAttachments( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects ) const
1186  {
1187  return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
1188  }
1189  void vkCmdClearColorImage( VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges ) const
1190  {
1191  return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
1192  }
1193  void vkCmdClearDepthStencilImage( VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges ) const
1194  {
1195  return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
1196  }
1197  void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions ) const
1198  {
1199  return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
1200  }
1201  void vkCmdCopyBufferToImage( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions ) const
1202  {
1203  return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
1204  }
1205  void vkCmdCopyImage( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions ) const
1206  {
1207  return ::vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
1208  }
1209  void vkCmdCopyImageToBuffer( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions ) const
1210  {
1211  return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
1212  }
1213  void vkCmdCopyQueryPoolResults( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags ) const
1214  {
1215  return ::vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
1216  }
1217  void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo ) const
1218  {
1219  return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo);
1220  }
1221  void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const
1222  {
1223  return ::vkCmdDebugMarkerEndEXT( commandBuffer);
1224  }
1225  void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo ) const
1226  {
1227  return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo);
1228  }
1229  void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const
1230  {
1231  return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ);
1232  }
1233  void vkCmdDispatchBase( VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const
1234  {
1235  return ::vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
1236  }
1237  void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const
1238  {
1239  return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
1240  }
1241  void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const
1242  {
1243  return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset);
1244  }
1245  void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const
1246  {
1247  return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
1248  }
1249  void vkCmdDrawIndexed( VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance ) const
1250  {
1251  return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
1252  }
1253  void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
1254  {
1255  return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride);
1256  }
1257  void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) const
1258  {
1259  return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
1260  }
1261  void vkCmdDrawIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
1262  {
1263  return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride);
1264  }
1265  void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) const
1266  {
1267  return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
1268  }
1269  void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const
1270  {
1271  return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer);
1272  }
1273  void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const
1274  {
1275  return ::vkCmdEndQuery( commandBuffer, queryPool, query);
1276  }
1277  void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const
1278  {
1279  return ::vkCmdEndRenderPass( commandBuffer);
1280  }
1281  void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers ) const
1282  {
1283  return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers);
1284  }
1285  void vkCmdFillBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) const
1286  {
1287  return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data);
1288  }
1289  void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo ) const
1290  {
1291  return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo);
1292  }
1293  void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const
1294  {
1295  return ::vkCmdNextSubpass( commandBuffer, contents);
1296  }
1297  void vkCmdPipelineBarrier( VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers ) const
1298  {
1299  return ::vkCmdPipelineBarrier( commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
1300  }
1301  void vkCmdProcessCommandsNVX( VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo ) const
1302  {
1303  return ::vkCmdProcessCommandsNVX( commandBuffer, pProcessCommandsInfo);
1304  }
1305  void vkCmdPushConstants( VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues ) const
1306  {
1307  return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues);
1308  }
1309  void vkCmdPushDescriptorSetKHR( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites ) const
1310  {
1311  return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites);
1312  }
1313  void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData ) const
1314  {
1315  return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData);
1316  }
1317  void vkCmdReserveSpaceForCommandsNVX( VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo ) const
1318  {
1319  return ::vkCmdReserveSpaceForCommandsNVX( commandBuffer, pReserveSpaceInfo);
1320  }
1321  void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const
1322  {
1323  return ::vkCmdResetEvent( commandBuffer, event, stageMask);
1324  }
1325  void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const
1326  {
1327  return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount);
1328  }
1329  void vkCmdResolveImage( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions ) const
1330  {
1331  return ::vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
1332  }
1333  void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const float blendConstants[4] ) const
1334  {
1335  return ::vkCmdSetBlendConstants( commandBuffer, blendConstants);
1336  }
1337  void vkCmdSetDepthBias( VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor ) const
1338  {
1339  return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
1340  }
1341  void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds ) const
1342  {
1343  return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds);
1344  }
1345  void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const
1346  {
1347  return ::vkCmdSetDeviceMask( commandBuffer, deviceMask);
1348  }
1349  void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const
1350  {
1351  return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask);
1352  }
1353  void vkCmdSetDiscardRectangleEXT( VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles ) const
1354  {
1355  return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles);
1356  }
1357  void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const
1358  {
1359  return ::vkCmdSetEvent( commandBuffer, event, stageMask);
1360  }
1361  void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const
1362  {
1363  return ::vkCmdSetLineWidth( commandBuffer, lineWidth);
1364  }
1365  void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo ) const
1366  {
1367  return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo);
1368  }
1369  void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors ) const
1370  {
1371  return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors);
1372  }
1373  void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask ) const
1374  {
1375  return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask);
1376  }
1377  void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference ) const
1378  {
1379  return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference);
1380  }
1381  void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask ) const
1382  {
1383  return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask);
1384  }
1385  void vkCmdSetViewport( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports ) const
1386  {
1387  return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports);
1388  }
1389  void vkCmdSetViewportWScalingNV( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings ) const
1390  {
1391  return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings);
1392  }
1393  void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData ) const
1394  {
1395  return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData);
1396  }
1397  void vkCmdWaitEvents( VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers ) const
1398  {
1399  return ::vkCmdWaitEvents( commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
1400  }
1401  void vkCmdWriteBufferMarkerAMD( VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const
1402  {
1403  return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker);
1404  }
1405  void vkCmdWriteTimestamp( VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query ) const
1406  {
1407  return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query);
1408  }
1409 #ifdef VK_USE_PLATFORM_ANDROID_KHR
1410  VkResult vkCreateAndroidSurfaceKHR( VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1411  {
1412  return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface);
1413  }
1414 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
1415  VkResult vkCreateBuffer( VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer ) const
1416  {
1417  return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer);
1418  }
1419  VkResult vkCreateBufferView( VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView ) const
1420  {
1421  return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView);
1422  }
1423  VkResult vkCreateCommandPool( VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool ) const
1424  {
1425  return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool);
1426  }
1427  VkResult vkCreateComputePipelines( VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines ) const
1428  {
1429  return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
1430  }
1431  VkResult vkCreateDebugReportCallbackEXT( VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback ) const
1432  {
1433  return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback);
1434  }
1435  VkResult vkCreateDebugUtilsMessengerEXT( VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger ) const
1436  {
1437  return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger);
1438  }
1439  VkResult vkCreateDescriptorPool( VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool ) const
1440  {
1441  return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool);
1442  }
1443  VkResult vkCreateDescriptorSetLayout( VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout ) const
1444  {
1445  return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout);
1446  }
1447  VkResult vkCreateDescriptorUpdateTemplate( VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate ) const
1448  {
1449  return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
1450  }
1451  VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate ) const
1452  {
1453  return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
1454  }
1455  VkResult vkCreateDevice( VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice ) const
1456  {
1457  return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice);
1458  }
1459  VkResult vkCreateDisplayModeKHR( VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode ) const
1460  {
1461  return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode);
1462  }
1463  VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1464  {
1465  return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface);
1466  }
1467  VkResult vkCreateEvent( VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent ) const
1468  {
1469  return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent);
1470  }
1471  VkResult vkCreateFence( VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence ) const
1472  {
1473  return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence);
1474  }
1475  VkResult vkCreateFramebuffer( VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer ) const
1476  {
1477  return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer);
1478  }
1479  VkResult vkCreateGraphicsPipelines( VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines ) const
1480  {
1481  return ::vkCreateGraphicsPipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
1482  }
1483 #ifdef VK_USE_PLATFORM_IOS_MVK
1484  VkResult vkCreateIOSSurfaceMVK( VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1485  {
1486  return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface);
1487  }
1488 #endif /*VK_USE_PLATFORM_IOS_MVK*/
1489  VkResult vkCreateImage( VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage ) const
1490  {
1491  return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage);
1492  }
1493  VkResult vkCreateImageView( VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView ) const
1494  {
1495  return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView);
1496  }
1497  VkResult vkCreateIndirectCommandsLayoutNVX( VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout ) const
1498  {
1499  return ::vkCreateIndirectCommandsLayoutNVX( device, pCreateInfo, pAllocator, pIndirectCommandsLayout);
1500  }
1501  VkResult vkCreateInstance( const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance ) const
1502  {
1503  return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance);
1504  }
1505 #ifdef VK_USE_PLATFORM_MACOS_MVK
1506  VkResult vkCreateMacOSSurfaceMVK( VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1507  {
1508  return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface);
1509  }
1510 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
1511 #ifdef VK_USE_PLATFORM_MIR_KHR
1512  VkResult vkCreateMirSurfaceKHR( VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1513  {
1514  return ::vkCreateMirSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface);
1515  }
1516 #endif /*VK_USE_PLATFORM_MIR_KHR*/
1517  VkResult vkCreateObjectTableNVX( VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable ) const
1518  {
1519  return ::vkCreateObjectTableNVX( device, pCreateInfo, pAllocator, pObjectTable);
1520  }
1521  VkResult vkCreatePipelineCache( VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache ) const
1522  {
1523  return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache);
1524  }
1525  VkResult vkCreatePipelineLayout( VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout ) const
1526  {
1527  return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout);
1528  }
1529  VkResult vkCreateQueryPool( VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool ) const
1530  {
1531  return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool);
1532  }
1533  VkResult vkCreateRenderPass( VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass ) const
1534  {
1535  return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass);
1536  }
1537  VkResult vkCreateSampler( VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler ) const
1538  {
1539  return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler);
1540  }
1541  VkResult vkCreateSamplerYcbcrConversion( VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion ) const
1542  {
1543  return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion);
1544  }
1545  VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion ) const
1546  {
1547  return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion);
1548  }
1549  VkResult vkCreateSemaphore( VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore ) const
1550  {
1551  return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore);
1552  }
1553  VkResult vkCreateShaderModule( VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule ) const
1554  {
1555  return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule);
1556  }
1557  VkResult vkCreateSharedSwapchainsKHR( VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains ) const
1558  {
1559  return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains);
1560  }
1561  VkResult vkCreateSwapchainKHR( VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain ) const
1562  {
1563  return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain);
1564  }
1565  VkResult vkCreateValidationCacheEXT( VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache ) const
1566  {
1567  return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache);
1568  }
1569 #ifdef VK_USE_PLATFORM_VI_NN
1570  VkResult vkCreateViSurfaceNN( VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1571  {
1572  return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface);
1573  }
1574 #endif /*VK_USE_PLATFORM_VI_NN*/
1575 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1576  VkResult vkCreateWaylandSurfaceKHR( VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1577  {
1578  return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface);
1579  }
1580 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
1581 #ifdef VK_USE_PLATFORM_WIN32_KHR
1582  VkResult vkCreateWin32SurfaceKHR( VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1583  {
1584  return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface);
1585  }
1586 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1587 #ifdef VK_USE_PLATFORM_XCB_KHR
1588  VkResult vkCreateXcbSurfaceKHR( VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1589  {
1590  return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface);
1591  }
1592 #endif /*VK_USE_PLATFORM_XCB_KHR*/
1593 #ifdef VK_USE_PLATFORM_XLIB_KHR
1594  VkResult vkCreateXlibSurfaceKHR( VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
1595  {
1596  return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface);
1597  }
1598 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
1600  {
1602  }
1604  {
1606  }
1607  void vkDebugReportMessageEXT( VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage ) const
1608  {
1609  return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage);
1610  }
1611  void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator ) const
1612  {
1613  return ::vkDestroyBuffer( device, buffer, pAllocator);
1614  }
1615  void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator ) const
1616  {
1617  return ::vkDestroyBufferView( device, bufferView, pAllocator);
1618  }
1619  void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator ) const
1620  {
1621  return ::vkDestroyCommandPool( device, commandPool, pAllocator);
1622  }
1623  void vkDestroyDebugReportCallbackEXT( VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator ) const
1624  {
1625  return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator);
1626  }
1627  void vkDestroyDebugUtilsMessengerEXT( VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator ) const
1628  {
1629  return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator);
1630  }
1631  void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator ) const
1632  {
1633  return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator);
1634  }
1635  void vkDestroyDescriptorSetLayout( VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator ) const
1636  {
1637  return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator);
1638  }
1639  void vkDestroyDescriptorUpdateTemplate( VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator ) const
1640  {
1641  return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator);
1642  }
1643  void vkDestroyDescriptorUpdateTemplateKHR( VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator ) const
1644  {
1645  return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator);
1646  }
1647  void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks* pAllocator ) const
1648  {
1649  return ::vkDestroyDevice( device, pAllocator);
1650  }
1651  void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator ) const
1652  {
1653  return ::vkDestroyEvent( device, event, pAllocator);
1654  }
1655  void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator ) const
1656  {
1657  return ::vkDestroyFence( device, fence, pAllocator);
1658  }
1659  void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator ) const
1660  {
1662  }
1663  void vkDestroyImage( VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator ) const
1664  {
1665  return ::vkDestroyImage( device, image, pAllocator);
1666  }
1667  void vkDestroyImageView( VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator ) const
1668  {
1669  return ::vkDestroyImageView( device, imageView, pAllocator);
1670  }
1671  void vkDestroyIndirectCommandsLayoutNVX( VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator ) const
1672  {
1673  return ::vkDestroyIndirectCommandsLayoutNVX( device, indirectCommandsLayout, pAllocator);
1674  }
1675  void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks* pAllocator ) const
1676  {
1677  return ::vkDestroyInstance( instance, pAllocator);
1678  }
1679  void vkDestroyObjectTableNVX( VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator ) const
1680  {
1681  return ::vkDestroyObjectTableNVX( device, objectTable, pAllocator);
1682  }
1683  void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator ) const
1684  {
1685  return ::vkDestroyPipeline( device, pipeline, pAllocator);
1686  }
1687  void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator ) const
1688  {
1689  return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator);
1690  }
1691  void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator ) const
1692  {
1693  return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator);
1694  }
1695  void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator ) const
1696  {
1697  return ::vkDestroyQueryPool( device, queryPool, pAllocator);
1698  }
1699  void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator ) const
1700  {
1701  return ::vkDestroyRenderPass( device, renderPass, pAllocator);
1702  }
1703  void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator ) const
1704  {
1705  return ::vkDestroySampler( device, sampler, pAllocator);
1706  }
1707  void vkDestroySamplerYcbcrConversion( VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator ) const
1708  {
1709  return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator);
1710  }
1711  void vkDestroySamplerYcbcrConversionKHR( VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator ) const
1712  {
1713  return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator);
1714  }
1715  void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator ) const
1716  {
1717  return ::vkDestroySemaphore( device, semaphore, pAllocator);
1718  }
1719  void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator ) const
1720  {
1721  return ::vkDestroyShaderModule( device, shaderModule, pAllocator);
1722  }
1723  void vkDestroySurfaceKHR( VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator ) const
1724  {
1725  return ::vkDestroySurfaceKHR( instance, surface, pAllocator);
1726  }
1727  void vkDestroySwapchainKHR( VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator ) const
1728  {
1729  return ::vkDestroySwapchainKHR( device, swapchain, pAllocator);
1730  }
1731  void vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator ) const
1732  {
1733  return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator);
1734  }
1736  {
1738  }
1739  VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo ) const
1740  {
1741  return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo);
1742  }
1743  VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const
1744  {
1745  return ::vkEndCommandBuffer( commandBuffer);
1746  }
1747  VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties ) const
1748  {
1749  return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties);
1750  }
1751  VkResult vkEnumerateDeviceLayerProperties( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties ) const
1752  {
1753  return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties);
1754  }
1755  VkResult vkEnumerateInstanceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties ) const
1756  {
1757  return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties);
1758  }
1760  {
1761  return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties);
1762  }
1764  {
1766  }
1767  VkResult vkEnumeratePhysicalDeviceGroups( VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties ) const
1768  {
1769  return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
1770  }
1771  VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties ) const
1772  {
1773  return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
1774  }
1775  VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices ) const
1776  {
1777  return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices);
1778  }
1779  VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges ) const
1780  {
1781  return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges);
1782  }
1783  void vkFreeCommandBuffers( VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers ) const
1784  {
1785  return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers);
1786  }
1787  VkResult vkFreeDescriptorSets( VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets ) const
1788  {
1789  return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets);
1790  }
1791  void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator ) const
1792  {
1793  return ::vkFreeMemory( device, memory, pAllocator);
1794  }
1795 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
1796  VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties ) const
1797  {
1799  }
1800 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
1801  void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements ) const
1802  {
1803  return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements);
1804  }
1805  void vkGetBufferMemoryRequirements2( VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements ) const
1806  {
1807  return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements);
1808  }
1809  void vkGetBufferMemoryRequirements2KHR( VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements ) const
1810  {
1811  return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements);
1812  }
1814  {
1815  return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport);
1816  }
1818  {
1819  return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport);
1820  }
1821  void vkGetDeviceGroupPeerMemoryFeatures( VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures ) const
1822  {
1823  return ::vkGetDeviceGroupPeerMemoryFeatures( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
1824  }
1825  void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures ) const
1826  {
1827  return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
1828  }
1830  {
1831  return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities);
1832  }
1834  {
1836  }
1837  void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes ) const
1838  {
1839  return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes);
1840  }
1841  PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char* pName ) const
1842  {
1844  }
1845  void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue ) const
1846  {
1847  return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue);
1848  }
1849  void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue ) const
1850  {
1851  return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue);
1852  }
1853  VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties ) const
1854  {
1855  return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties);
1856  }
1857  VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities ) const
1858  {
1859  return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities);
1860  }
1861  VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays ) const
1862  {
1863  return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays);
1864  }
1865  VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const
1866  {
1868  }
1869  VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd ) const
1870  {
1871  return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd);
1872  }
1873  VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const
1874  {
1876  }
1877 #ifdef VK_USE_PLATFORM_WIN32_KHR
1878  VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle ) const
1879  {
1880  return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle);
1881  }
1882 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1883  void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements ) const
1884  {
1885  return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements);
1886  }
1887  void vkGetImageMemoryRequirements2( VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements ) const
1888  {
1889  return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements);
1890  }
1891  void vkGetImageMemoryRequirements2KHR( VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements ) const
1892  {
1893  return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements);
1894  }
1895  void vkGetImageSparseMemoryRequirements( VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements ) const
1896  {
1897  return ::vkGetImageSparseMemoryRequirements( device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1898  }
1899  void vkGetImageSparseMemoryRequirements2( VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements ) const
1900  {
1901  return ::vkGetImageSparseMemoryRequirements2( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1902  }
1903  void vkGetImageSparseMemoryRequirements2KHR( VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements ) const
1904  {
1905  return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1906  }
1907  void vkGetImageSubresourceLayout( VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout ) const
1908  {
1909  return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout);
1910  }
1911  PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char* pName ) const
1912  {
1913  return ::vkGetInstanceProcAddr( instance, pName);
1914  }
1915 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
1916  VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer ) const
1917  {
1919  }
1920 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
1921  VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd ) const
1922  {
1923  return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd);
1924  }
1926  {
1927  return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties);
1928  }
1929  VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties ) const
1930  {
1931  return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties);
1932  }
1933 #ifdef VK_USE_PLATFORM_WIN32_KHR
1934  VkResult vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle ) const
1935  {
1936  return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle);
1937  }
1938 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1939 #ifdef VK_USE_PLATFORM_WIN32_NV
1940  VkResult vkGetMemoryWin32HandleNV( VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle ) const
1941  {
1942  return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle);
1943  }
1944 #endif /*VK_USE_PLATFORM_WIN32_NV*/
1945 #ifdef VK_USE_PLATFORM_WIN32_KHR
1946  VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties ) const
1947  {
1948  return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties);
1949  }
1950 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1951  VkResult vkGetPastPresentationTimingGOOGLE( VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings ) const
1952  {
1953  return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings);
1954  }
1955  VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties ) const
1956  {
1957  return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties);
1958  }
1959  VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties ) const
1960  {
1961  return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties);
1962  }
1963  void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties ) const
1964  {
1965  return ::vkGetPhysicalDeviceExternalBufferProperties( physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
1966  }
1967  void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties ) const
1968  {
1969  return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
1970  }
1971  void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties ) const
1972  {
1973  return ::vkGetPhysicalDeviceExternalFenceProperties( physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
1974  }
1975  void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties ) const
1976  {
1977  return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
1978  }
1980  {
1981  return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV( physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties);
1982  }
1983  void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties ) const
1984  {
1985  return ::vkGetPhysicalDeviceExternalSemaphoreProperties( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
1986  }
1987  void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties ) const
1988  {
1989  return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
1990  }
1991  void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures ) const
1992  {
1993  return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures);
1994  }
1995  void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures ) const
1996  {
1997  return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures);
1998  }
1999  void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures ) const
2000  {
2001  return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures);
2002  }
2003  void vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties ) const
2004  {
2005  return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties);
2006  }
2007  void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties ) const
2008  {
2009  return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties);
2010  }
2011  void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties ) const
2012  {
2013  return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties);
2014  }
2016  {
2017  return ::vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( physicalDevice, pFeatures, pLimits);
2018  }
2020  {
2021  return ::vkGetPhysicalDeviceImageFormatProperties( physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
2022  }
2023  VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties ) const
2024  {
2025  return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties);
2026  }
2027  VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties ) const
2028  {
2029  return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties);
2030  }
2031  void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties ) const
2032  {
2033  return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties);
2034  }
2035  void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties ) const
2036  {
2037  return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties);
2038  }
2039  void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties ) const
2040  {
2041  return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties);
2042  }
2043 #ifdef VK_USE_PLATFORM_MIR_KHR
2044  VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection ) const
2045  {
2046  return ::vkGetPhysicalDeviceMirPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection);
2047  }
2048 #endif /*VK_USE_PLATFORM_MIR_KHR*/
2049  void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties ) const
2050  {
2051  return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties);
2052  }
2053  VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects ) const
2054  {
2055  return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects);
2056  }
2057  void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties ) const
2058  {
2059  return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties);
2060  }
2061  void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties ) const
2062  {
2063  return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties);
2064  }
2065  void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties ) const
2066  {
2067  return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties);
2068  }
2069  void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties ) const
2070  {
2071  return ::vkGetPhysicalDeviceQueueFamilyProperties( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
2072  }
2073  void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties ) const
2074  {
2075  return ::vkGetPhysicalDeviceQueueFamilyProperties2( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
2076  }
2077  void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties ) const
2078  {
2079  return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
2080  }
2082  {
2083  return ::vkGetPhysicalDeviceSparseImageFormatProperties( physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
2084  }
2085  void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties ) const
2086  {
2087  return ::vkGetPhysicalDeviceSparseImageFormatProperties2( physicalDevice, pFormatInfo, pPropertyCount, pProperties);
2088  }
2089  void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties ) const
2090  {
2091  return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties);
2092  }
2093  VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities ) const
2094  {
2095  return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities);
2096  }
2097  VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities ) const
2098  {
2099  return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities);
2100  }
2101  VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities ) const
2102  {
2103  return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities);
2104  }
2105  VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats ) const
2106  {
2107  return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats);
2108  }
2109  VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats ) const
2110  {
2111  return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats);
2112  }
2113  VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes ) const
2114  {
2115  return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes);
2116  }
2117  VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported ) const
2118  {
2119  return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported);
2120  }
2121 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2122  VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display ) const
2123  {
2124  return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display);
2125  }
2126 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
2127 #ifdef VK_USE_PLATFORM_WIN32_KHR
2128  VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex ) const
2129  {
2130  return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex);
2131  }
2132 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2133 #ifdef VK_USE_PLATFORM_XCB_KHR
2134  VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id ) const
2135  {
2136  return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id);
2137  }
2138 #endif /*VK_USE_PLATFORM_XCB_KHR*/
2139 #ifdef VK_USE_PLATFORM_XLIB_KHR
2140  VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID ) const
2141  {
2142  return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID);
2143  }
2144 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
2145  VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData ) const
2146  {
2147  return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData);
2148  }
2149  VkResult vkGetQueryPoolResults( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags ) const
2150  {
2151  return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
2152  }
2153 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
2154  VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay ) const
2155  {
2156  return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay);
2157  }
2158 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
2159  VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties ) const
2160  {
2161  return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties);
2162  }
2163  void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity ) const
2164  {
2165  return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity);
2166  }
2167  VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd ) const
2168  {
2169  return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd);
2170  }
2171 #ifdef VK_USE_PLATFORM_WIN32_KHR
2172  VkResult vkGetSemaphoreWin32HandleKHR( VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle ) const
2173  {
2174  return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle);
2175  }
2176 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2177  VkResult vkGetShaderInfoAMD( VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo ) const
2178  {
2179  return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo);
2180  }
2181  VkResult vkGetSwapchainCounterEXT( VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue ) const
2182  {
2183  return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue);
2184  }
2185  VkResult vkGetSwapchainImagesKHR( VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages ) const
2186  {
2187  return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages);
2188  }
2189  VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const
2190  {
2192  }
2193  VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData ) const
2194  {
2195  return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData);
2196  }
2197  VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo ) const
2198  {
2199  return ::vkImportFenceFdKHR( device, pImportFenceFdInfo);
2200  }
2201 #ifdef VK_USE_PLATFORM_WIN32_KHR
2202  VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo ) const
2203  {
2204  return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo);
2205  }
2206 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2207  VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo ) const
2208  {
2209  return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo);
2210  }
2211 #ifdef VK_USE_PLATFORM_WIN32_KHR
2212  VkResult vkImportSemaphoreWin32HandleKHR( VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo ) const
2213  {
2214  return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo);
2215  }
2216 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2217  VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges ) const
2218  {
2219  return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges);
2220  }
2221  VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData ) const
2222  {
2223  return ::vkMapMemory( device, memory, offset, size, flags, ppData);
2224  }
2225  VkResult vkMergePipelineCaches( VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches ) const
2226  {
2227  return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches);
2228  }
2229  VkResult vkMergeValidationCachesEXT( VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches ) const
2230  {
2231  return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches);
2232  }
2233  void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo ) const
2234  {
2235  return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo);
2236  }
2237  VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence ) const
2238  {
2239  return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence);
2240  }
2241  void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const
2242  {
2244  }
2245  void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo ) const
2246  {
2247  return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo);
2248  }
2249  VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR* pPresentInfo ) const
2250  {
2251  return ::vkQueuePresentKHR( queue, pPresentInfo);
2252  }
2253  VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence ) const
2254  {
2255  return ::vkQueueSubmit( queue, submitCount, pSubmits, fence);
2256  }
2257  VkResult vkQueueWaitIdle( VkQueue queue ) const
2258  {
2259  return ::vkQueueWaitIdle( queue);
2260  }
2261  VkResult vkRegisterDeviceEventEXT( VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence ) const
2262  {
2263  return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence);
2264  }
2265  VkResult vkRegisterDisplayEventEXT( VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence ) const
2266  {
2267  return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence);
2268  }
2269  VkResult vkRegisterObjectsNVX( VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices ) const
2270  {
2271  return ::vkRegisterObjectsNVX( device, objectTable, objectCount, ppObjectTableEntries, pObjectIndices);
2272  }
2273  VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const
2274  {
2275  return ::vkReleaseDisplayEXT( physicalDevice, display);
2276  }
2277  VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags ) const
2278  {
2279  return ::vkResetCommandBuffer( commandBuffer, flags);
2280  }
2281  VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags ) const
2282  {
2283  return ::vkResetCommandPool( device, commandPool, flags);
2284  }
2285  VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) const
2286  {
2287  return ::vkResetDescriptorPool( device, descriptorPool, flags);
2288  }
2289  VkResult vkResetEvent( VkDevice device, VkEvent event ) const
2290  {
2292  }
2293  VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence* pFences ) const
2294  {
2295  return ::vkResetFences( device, fenceCount, pFences);
2296  }
2298  {
2300  }
2302  {
2304  }
2305  VkResult vkSetEvent( VkDevice device, VkEvent event ) const
2306  {
2308  }
2309  void vkSetHdrMetadataEXT( VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata ) const
2310  {
2311  return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata);
2312  }
2313  void vkSubmitDebugUtilsMessageEXT( VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData ) const
2314  {
2315  return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData);
2316  }
2317  void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const
2318  {
2319  return ::vkTrimCommandPool( device, commandPool, flags);
2320  }
2321  void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const
2322  {
2323  return ::vkTrimCommandPoolKHR( device, commandPool, flags);
2324  }
2325  void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const
2326  {
2327  return ::vkUnmapMemory( device, memory);
2328  }
2329  VkResult vkUnregisterObjectsNVX( VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices ) const
2330  {
2331  return ::vkUnregisterObjectsNVX( device, objectTable, objectCount, pObjectEntryTypes, pObjectIndices);
2332  }
2333  void vkUpdateDescriptorSetWithTemplate( VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData ) const
2334  {
2335  return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData);
2336  }
2337  void vkUpdateDescriptorSetWithTemplateKHR( VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData ) const
2338  {
2339  return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData);
2340  }
2341  void vkUpdateDescriptorSets( VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies ) const
2342  {
2343  return ::vkUpdateDescriptorSets( device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
2344  }
2345  VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout ) const
2346  {
2347  return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout);
2348  }
2349 };
2351 
2352  using Bool32 = uint32_t;
2353 
2355 
2357  {
2358  };
2359 
2361 
2363  {
2364  };
2365 
2367 
2369  {
2370  };
2371 
2373 
2375  {
2376  };
2377 
2379 
2381  {
2382  };
2383 
2385 
2387  {
2388  };
2389 
2391 
2393  {
2394  };
2395 
2397 
2399  {
2400  };
2401 
2403 
2405  {
2406  };
2407 
2409 
2411  {
2412  };
2413 
2415 
2417  {
2418  };
2419 
2421 
2423  {
2424  };
2425 
2427 
2429  {
2430  };
2431 
2433 
2435  {
2436  };
2437 
2439 
2441  {
2442  };
2443 
2445 
2447  {
2448  };
2449 
2451 
2453  {
2454  };
2455 
2457 
2459  {
2460  };
2461 
2463 
2465  {
2466  };
2467 
2469 
2471  {
2472  };
2473 
2475 
2477  {
2478  };
2479 
2481 
2483  {
2484  };
2485 
2487 
2489  {
2490  };
2491 
2493 
2495  {
2496  };
2497 
2499 
2501  {
2502  };
2503 
2505 
2507  {
2508  };
2509 
2511 
2513 
2515  {
2516  };
2517 
2519 
2521  {
2522  };
2523 
2525 
2526 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2527  enum class AndroidSurfaceCreateFlagBitsKHR
2528  {
2529  };
2530 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
2531 
2532 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2533  using AndroidSurfaceCreateFlagsKHR = Flags<AndroidSurfaceCreateFlagBitsKHR, VkAndroidSurfaceCreateFlagsKHR>;
2534 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
2535 
2536 #ifdef VK_USE_PLATFORM_MIR_KHR
2537  enum class MirSurfaceCreateFlagBitsKHR
2538  {
2539  };
2540 #endif /*VK_USE_PLATFORM_MIR_KHR*/
2541 
2542 #ifdef VK_USE_PLATFORM_MIR_KHR
2543  using MirSurfaceCreateFlagsKHR = Flags<MirSurfaceCreateFlagBitsKHR, VkMirSurfaceCreateFlagsKHR>;
2544 #endif /*VK_USE_PLATFORM_MIR_KHR*/
2545 
2546 #ifdef VK_USE_PLATFORM_VI_NN
2547  enum class ViSurfaceCreateFlagBitsNN
2548  {
2549  };
2550 #endif /*VK_USE_PLATFORM_VI_NN*/
2551 
2552 #ifdef VK_USE_PLATFORM_VI_NN
2553  using ViSurfaceCreateFlagsNN = Flags<ViSurfaceCreateFlagBitsNN, VkViSurfaceCreateFlagsNN>;
2554 #endif /*VK_USE_PLATFORM_VI_NN*/
2555 
2556 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2557  enum class WaylandSurfaceCreateFlagBitsKHR
2558  {
2559  };
2560 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
2561 
2562 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2563  using WaylandSurfaceCreateFlagsKHR = Flags<WaylandSurfaceCreateFlagBitsKHR, VkWaylandSurfaceCreateFlagsKHR>;
2564 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
2565 
2566 #ifdef VK_USE_PLATFORM_WIN32_KHR
2567  enum class Win32SurfaceCreateFlagBitsKHR
2568  {
2569  };
2570 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2571 
2572 #ifdef VK_USE_PLATFORM_WIN32_KHR
2573  using Win32SurfaceCreateFlagsKHR = Flags<Win32SurfaceCreateFlagBitsKHR, VkWin32SurfaceCreateFlagsKHR>;
2574 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2575 
2576 #ifdef VK_USE_PLATFORM_XLIB_KHR
2577  enum class XlibSurfaceCreateFlagBitsKHR
2578  {
2579  };
2580 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
2581 
2582 #ifdef VK_USE_PLATFORM_XLIB_KHR
2583  using XlibSurfaceCreateFlagsKHR = Flags<XlibSurfaceCreateFlagBitsKHR, VkXlibSurfaceCreateFlagsKHR>;
2584 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
2585 
2586 #ifdef VK_USE_PLATFORM_XCB_KHR
2587  enum class XcbSurfaceCreateFlagBitsKHR
2588  {
2589  };
2590 #endif /*VK_USE_PLATFORM_XCB_KHR*/
2591 
2592 #ifdef VK_USE_PLATFORM_XCB_KHR
2593  using XcbSurfaceCreateFlagsKHR = Flags<XcbSurfaceCreateFlagBitsKHR, VkXcbSurfaceCreateFlagsKHR>;
2594 #endif /*VK_USE_PLATFORM_XCB_KHR*/
2595 
2596 #ifdef VK_USE_PLATFORM_IOS_MVK
2597  enum class IOSSurfaceCreateFlagBitsMVK
2598  {
2599  };
2600 #endif /*VK_USE_PLATFORM_IOS_MVK*/
2601 
2602 #ifdef VK_USE_PLATFORM_IOS_MVK
2603  using IOSSurfaceCreateFlagsMVK = Flags<IOSSurfaceCreateFlagBitsMVK, VkIOSSurfaceCreateFlagsMVK>;
2604 #endif /*VK_USE_PLATFORM_IOS_MVK*/
2605 
2606 #ifdef VK_USE_PLATFORM_MACOS_MVK
2607  enum class MacOSSurfaceCreateFlagBitsMVK
2608  {
2609  };
2610 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
2611 
2612 #ifdef VK_USE_PLATFORM_MACOS_MVK
2613  using MacOSSurfaceCreateFlagsMVK = Flags<MacOSSurfaceCreateFlagBitsMVK, VkMacOSSurfaceCreateFlagsMVK>;
2614 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
2615 
2617  {
2618  };
2619 
2621 
2623 
2625  {
2626  };
2627 
2629 
2631  {
2632  };
2633 
2635 
2637  {
2638  };
2639 
2641 
2643  {
2644  };
2645 
2647 
2649  {
2650  };
2651 
2653 
2655  {
2656  };
2657 
2659 
2661  {
2662  };
2663 
2665 
2667  {
2668  };
2669 
2671 
2673  {
2674  public:
2677  {}
2678 
2681  {}
2682 
2683  VULKAN_HPP_TYPESAFE_EXPLICIT DeviceMemory( VkDeviceMemory deviceMemory )
2684  : m_deviceMemory( deviceMemory )
2685  {}
2686 
2687 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
2688  DeviceMemory & operator=(VkDeviceMemory deviceMemory)
2689  {
2690  m_deviceMemory = deviceMemory;
2691  return *this;
2692  }
2693 #endif
2694 
2695  DeviceMemory & operator=( std::nullptr_t )
2696  {
2698  return *this;
2699  }
2700 
2701  bool operator==( DeviceMemory const & rhs ) const
2702  {
2703  return m_deviceMemory == rhs.m_deviceMemory;
2704  }
2705 
2706  bool operator!=(DeviceMemory const & rhs ) const
2707  {
2708  return m_deviceMemory != rhs.m_deviceMemory;
2709  }
2710 
2711  bool operator<(DeviceMemory const & rhs ) const
2712  {
2713  return m_deviceMemory < rhs.m_deviceMemory;
2714  }
2715 
2716 
2717 
2718  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDeviceMemory() const
2719  {
2720  return m_deviceMemory;
2721  }
2722 
2723  explicit operator bool() const
2724  {
2725  return m_deviceMemory != VK_NULL_HANDLE;
2726  }
2727 
2728  bool operator!() const
2729  {
2730  return m_deviceMemory == VK_NULL_HANDLE;
2731  }
2732 
2733  private:
2734  VkDeviceMemory m_deviceMemory;
2735  };
2736 
2737  static_assert( sizeof( DeviceMemory ) == sizeof( VkDeviceMemory ), "handle and wrapper have different size!" );
2738 
2740  {
2741  public:
2744  {}
2745 
2748  {}
2749 
2750  VULKAN_HPP_TYPESAFE_EXPLICIT CommandPool( VkCommandPool commandPool )
2751  : m_commandPool( commandPool )
2752  {}
2753 
2754 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
2755  CommandPool & operator=(VkCommandPool commandPool)
2756  {
2757  m_commandPool = commandPool;
2758  return *this;
2759  }
2760 #endif
2761 
2762  CommandPool & operator=( std::nullptr_t )
2763  {
2765  return *this;
2766  }
2767 
2768  bool operator==( CommandPool const & rhs ) const
2769  {
2770  return m_commandPool == rhs.m_commandPool;
2771  }
2772 
2773  bool operator!=(CommandPool const & rhs ) const
2774  {
2775  return m_commandPool != rhs.m_commandPool;
2776  }
2777 
2778  bool operator<(CommandPool const & rhs ) const
2779  {
2780  return m_commandPool < rhs.m_commandPool;
2781  }
2782 
2783 
2784 
2785  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkCommandPool() const
2786  {
2787  return m_commandPool;
2788  }
2789 
2790  explicit operator bool() const
2791  {
2792  return m_commandPool != VK_NULL_HANDLE;
2793  }
2794 
2795  bool operator!() const
2796  {
2797  return m_commandPool == VK_NULL_HANDLE;
2798  }
2799 
2800  private:
2801  VkCommandPool m_commandPool;
2802  };
2803 
2804  static_assert( sizeof( CommandPool ) == sizeof( VkCommandPool ), "handle and wrapper have different size!" );
2805 
2806  class Buffer
2807  {
2808  public:
2811  {}
2812 
2813  VULKAN_HPP_CONSTEXPR Buffer( std::nullptr_t )
2815  {}
2816 
2818  : m_buffer( buffer )
2819  {}
2820 
2821 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
2822  Buffer & operator=(VkBuffer buffer)
2823  {
2824  m_buffer = buffer;
2825  return *this;
2826  }
2827 #endif
2828 
2829  Buffer & operator=( std::nullptr_t )
2830  {
2832  return *this;
2833  }
2834 
2835  bool operator==( Buffer const & rhs ) const
2836  {
2837  return m_buffer == rhs.m_buffer;
2838  }
2839 
2840  bool operator!=(Buffer const & rhs ) const
2841  {
2842  return m_buffer != rhs.m_buffer;
2843  }
2844 
2845  bool operator<(Buffer const & rhs ) const
2846  {
2847  return m_buffer < rhs.m_buffer;
2848  }
2849 
2850 
2851 
2852  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBuffer() const
2853  {
2854  return m_buffer;
2855  }
2856 
2857  explicit operator bool() const
2858  {
2859  return m_buffer != VK_NULL_HANDLE;
2860  }
2861 
2862  bool operator!() const
2863  {
2864  return m_buffer == VK_NULL_HANDLE;
2865  }
2866 
2867  private:
2868  VkBuffer m_buffer;
2869  };
2870 
2871  static_assert( sizeof( Buffer ) == sizeof( VkBuffer ), "handle and wrapper have different size!" );
2872 
2874  {
2875  public:
2878  {}
2879 
2882  {}
2883 
2884  VULKAN_HPP_TYPESAFE_EXPLICIT BufferView( VkBufferView bufferView )
2885  : m_bufferView( bufferView )
2886  {}
2887 
2888 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
2889  BufferView & operator=(VkBufferView bufferView)
2890  {
2891  m_bufferView = bufferView;
2892  return *this;
2893  }
2894 #endif
2895 
2896  BufferView & operator=( std::nullptr_t )
2897  {
2899  return *this;
2900  }
2901 
2902  bool operator==( BufferView const & rhs ) const
2903  {
2904  return m_bufferView == rhs.m_bufferView;
2905  }
2906 
2907  bool operator!=(BufferView const & rhs ) const
2908  {
2909  return m_bufferView != rhs.m_bufferView;
2910  }
2911 
2912  bool operator<(BufferView const & rhs ) const
2913  {
2914  return m_bufferView < rhs.m_bufferView;
2915  }
2916 
2917 
2918 
2919  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBufferView() const
2920  {
2921  return m_bufferView;
2922  }
2923 
2924  explicit operator bool() const
2925  {
2926  return m_bufferView != VK_NULL_HANDLE;
2927  }
2928 
2929  bool operator!() const
2930  {
2931  return m_bufferView == VK_NULL_HANDLE;
2932  }
2933 
2934  private:
2935  VkBufferView m_bufferView;
2936  };
2937 
2938  static_assert( sizeof( BufferView ) == sizeof( VkBufferView ), "handle and wrapper have different size!" );
2939 
2940  class Image
2941  {
2942  public:
2945  {}
2946 
2947  VULKAN_HPP_CONSTEXPR Image( std::nullptr_t )
2949  {}
2950 
2952  : m_image( image )
2953  {}
2954 
2955 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
2956  Image & operator=(VkImage image)
2957  {
2958  m_image = image;
2959  return *this;
2960  }
2961 #endif
2962 
2963  Image & operator=( std::nullptr_t )
2964  {
2966  return *this;
2967  }
2968 
2969  bool operator==( Image const & rhs ) const
2970  {
2971  return m_image == rhs.m_image;
2972  }
2973 
2974  bool operator!=(Image const & rhs ) const
2975  {
2976  return m_image != rhs.m_image;
2977  }
2978 
2979  bool operator<(Image const & rhs ) const
2980  {
2981  return m_image < rhs.m_image;
2982  }
2983 
2984 
2985 
2986  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkImage() const
2987  {
2988  return m_image;
2989  }
2990 
2991  explicit operator bool() const
2992  {
2993  return m_image != VK_NULL_HANDLE;
2994  }
2995 
2996  bool operator!() const
2997  {
2998  return m_image == VK_NULL_HANDLE;
2999  }
3000 
3001  private:
3002  VkImage m_image;
3003  };
3004 
3005  static_assert( sizeof( Image ) == sizeof( VkImage ), "handle and wrapper have different size!" );
3006 
3008  {
3009  public:
3012  {}
3013 
3016  {}
3017 
3018  VULKAN_HPP_TYPESAFE_EXPLICIT ImageView( VkImageView imageView )
3019  : m_imageView( imageView )
3020  {}
3021 
3022 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3023  ImageView & operator=(VkImageView imageView)
3024  {
3025  m_imageView = imageView;
3026  return *this;
3027  }
3028 #endif
3029 
3030  ImageView & operator=( std::nullptr_t )
3031  {
3033  return *this;
3034  }
3035 
3036  bool operator==( ImageView const & rhs ) const
3037  {
3038  return m_imageView == rhs.m_imageView;
3039  }
3040 
3041  bool operator!=(ImageView const & rhs ) const
3042  {
3043  return m_imageView != rhs.m_imageView;
3044  }
3045 
3046  bool operator<(ImageView const & rhs ) const
3047  {
3048  return m_imageView < rhs.m_imageView;
3049  }
3050 
3051 
3052 
3053  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkImageView() const
3054  {
3055  return m_imageView;
3056  }
3057 
3058  explicit operator bool() const
3059  {
3060  return m_imageView != VK_NULL_HANDLE;
3061  }
3062 
3063  bool operator!() const
3064  {
3065  return m_imageView == VK_NULL_HANDLE;
3066  }
3067 
3068  private:
3069  VkImageView m_imageView;
3070  };
3071 
3072  static_assert( sizeof( ImageView ) == sizeof( VkImageView ), "handle and wrapper have different size!" );
3073 
3075  {
3076  public:
3079  {}
3080 
3083  {}
3084 
3085  VULKAN_HPP_TYPESAFE_EXPLICIT ShaderModule( VkShaderModule shaderModule )
3086  : m_shaderModule( shaderModule )
3087  {}
3088 
3089 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3090  ShaderModule & operator=(VkShaderModule shaderModule)
3091  {
3092  m_shaderModule = shaderModule;
3093  return *this;
3094  }
3095 #endif
3096 
3097  ShaderModule & operator=( std::nullptr_t )
3098  {
3100  return *this;
3101  }
3102 
3103  bool operator==( ShaderModule const & rhs ) const
3104  {
3105  return m_shaderModule == rhs.m_shaderModule;
3106  }
3107 
3108  bool operator!=(ShaderModule const & rhs ) const
3109  {
3110  return m_shaderModule != rhs.m_shaderModule;
3111  }
3112 
3113  bool operator<(ShaderModule const & rhs ) const
3114  {
3115  return m_shaderModule < rhs.m_shaderModule;
3116  }
3117 
3118 
3119 
3120  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkShaderModule() const
3121  {
3122  return m_shaderModule;
3123  }
3124 
3125  explicit operator bool() const
3126  {
3127  return m_shaderModule != VK_NULL_HANDLE;
3128  }
3129 
3130  bool operator!() const
3131  {
3132  return m_shaderModule == VK_NULL_HANDLE;
3133  }
3134 
3135  private:
3136  VkShaderModule m_shaderModule;
3137  };
3138 
3139  static_assert( sizeof( ShaderModule ) == sizeof( VkShaderModule ), "handle and wrapper have different size!" );
3140 
3141  class Pipeline
3142  {
3143  public:
3146  {}
3147 
3148  VULKAN_HPP_CONSTEXPR Pipeline( std::nullptr_t )
3150  {}
3151 
3153  : m_pipeline( pipeline )
3154  {}
3155 
3156 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3157  Pipeline & operator=(VkPipeline pipeline)
3158  {
3159  m_pipeline = pipeline;
3160  return *this;
3161  }
3162 #endif
3163 
3164  Pipeline & operator=( std::nullptr_t )
3165  {
3167  return *this;
3168  }
3169 
3170  bool operator==( Pipeline const & rhs ) const
3171  {
3172  return m_pipeline == rhs.m_pipeline;
3173  }
3174 
3175  bool operator!=(Pipeline const & rhs ) const
3176  {
3177  return m_pipeline != rhs.m_pipeline;
3178  }
3179 
3180  bool operator<(Pipeline const & rhs ) const
3181  {
3182  return m_pipeline < rhs.m_pipeline;
3183  }
3184 
3185 
3186 
3187  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipeline() const
3188  {
3189  return m_pipeline;
3190  }
3191 
3192  explicit operator bool() const
3193  {
3194  return m_pipeline != VK_NULL_HANDLE;
3195  }
3196 
3197  bool operator!() const
3198  {
3199  return m_pipeline == VK_NULL_HANDLE;
3200  }
3201 
3202  private:
3203  VkPipeline m_pipeline;
3204  };
3205 
3206  static_assert( sizeof( Pipeline ) == sizeof( VkPipeline ), "handle and wrapper have different size!" );
3207 
3209  {
3210  public:
3213  {}
3214 
3217  {}
3218 
3219  VULKAN_HPP_TYPESAFE_EXPLICIT PipelineLayout( VkPipelineLayout pipelineLayout )
3220  : m_pipelineLayout( pipelineLayout )
3221  {}
3222 
3223 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3224  PipelineLayout & operator=(VkPipelineLayout pipelineLayout)
3225  {
3226  m_pipelineLayout = pipelineLayout;
3227  return *this;
3228  }
3229 #endif
3230 
3231  PipelineLayout & operator=( std::nullptr_t )
3232  {
3234  return *this;
3235  }
3236 
3237  bool operator==( PipelineLayout const & rhs ) const
3238  {
3239  return m_pipelineLayout == rhs.m_pipelineLayout;
3240  }
3241 
3242  bool operator!=(PipelineLayout const & rhs ) const
3243  {
3244  return m_pipelineLayout != rhs.m_pipelineLayout;
3245  }
3246 
3247  bool operator<(PipelineLayout const & rhs ) const
3248  {
3249  return m_pipelineLayout < rhs.m_pipelineLayout;
3250  }
3251 
3252 
3253 
3254  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipelineLayout() const
3255  {
3256  return m_pipelineLayout;
3257  }
3258 
3259  explicit operator bool() const
3260  {
3261  return m_pipelineLayout != VK_NULL_HANDLE;
3262  }
3263 
3264  bool operator!() const
3265  {
3266  return m_pipelineLayout == VK_NULL_HANDLE;
3267  }
3268 
3269  private:
3270  VkPipelineLayout m_pipelineLayout;
3271  };
3272 
3273  static_assert( sizeof( PipelineLayout ) == sizeof( VkPipelineLayout ), "handle and wrapper have different size!" );
3274 
3275  class Sampler
3276  {
3277  public:
3280  {}
3281 
3282  VULKAN_HPP_CONSTEXPR Sampler( std::nullptr_t )
3284  {}
3285 
3287  : m_sampler( sampler )
3288  {}
3289 
3290 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3291  Sampler & operator=(VkSampler sampler)
3292  {
3293  m_sampler = sampler;
3294  return *this;
3295  }
3296 #endif
3297 
3298  Sampler & operator=( std::nullptr_t )
3299  {
3301  return *this;
3302  }
3303 
3304  bool operator==( Sampler const & rhs ) const
3305  {
3306  return m_sampler == rhs.m_sampler;
3307  }
3308 
3309  bool operator!=(Sampler const & rhs ) const
3310  {
3311  return m_sampler != rhs.m_sampler;
3312  }
3313 
3314  bool operator<(Sampler const & rhs ) const
3315  {
3316  return m_sampler < rhs.m_sampler;
3317  }
3318 
3319 
3320 
3321  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSampler() const
3322  {
3323  return m_sampler;
3324  }
3325 
3326  explicit operator bool() const
3327  {
3328  return m_sampler != VK_NULL_HANDLE;
3329  }
3330 
3331  bool operator!() const
3332  {
3333  return m_sampler == VK_NULL_HANDLE;
3334  }
3335 
3336  private:
3337  VkSampler m_sampler;
3338  };
3339 
3340  static_assert( sizeof( Sampler ) == sizeof( VkSampler ), "handle and wrapper have different size!" );
3341 
3343  {
3344  public:
3347  {}
3348 
3351  {}
3352 
3353  VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSet( VkDescriptorSet descriptorSet )
3354  : m_descriptorSet( descriptorSet )
3355  {}
3356 
3357 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3358  DescriptorSet & operator=(VkDescriptorSet descriptorSet)
3359  {
3360  m_descriptorSet = descriptorSet;
3361  return *this;
3362  }
3363 #endif
3364 
3365  DescriptorSet & operator=( std::nullptr_t )
3366  {
3368  return *this;
3369  }
3370 
3371  bool operator==( DescriptorSet const & rhs ) const
3372  {
3373  return m_descriptorSet == rhs.m_descriptorSet;
3374  }
3375 
3376  bool operator!=(DescriptorSet const & rhs ) const
3377  {
3378  return m_descriptorSet != rhs.m_descriptorSet;
3379  }
3380 
3381  bool operator<(DescriptorSet const & rhs ) const
3382  {
3383  return m_descriptorSet < rhs.m_descriptorSet;
3384  }
3385 
3386 
3387 
3388  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorSet() const
3389  {
3390  return m_descriptorSet;
3391  }
3392 
3393  explicit operator bool() const
3394  {
3395  return m_descriptorSet != VK_NULL_HANDLE;
3396  }
3397 
3398  bool operator!() const
3399  {
3400  return m_descriptorSet == VK_NULL_HANDLE;
3401  }
3402 
3403  private:
3404  VkDescriptorSet m_descriptorSet;
3405  };
3406 
3407  static_assert( sizeof( DescriptorSet ) == sizeof( VkDescriptorSet ), "handle and wrapper have different size!" );
3408 
3410  {
3411  public:
3414  {}
3415 
3418  {}
3419 
3420  VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSetLayout( VkDescriptorSetLayout descriptorSetLayout )
3421  : m_descriptorSetLayout( descriptorSetLayout )
3422  {}
3423 
3424 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3425  DescriptorSetLayout & operator=(VkDescriptorSetLayout descriptorSetLayout)
3426  {
3427  m_descriptorSetLayout = descriptorSetLayout;
3428  return *this;
3429  }
3430 #endif
3431 
3432  DescriptorSetLayout & operator=( std::nullptr_t )
3433  {
3435  return *this;
3436  }
3437 
3438  bool operator==( DescriptorSetLayout const & rhs ) const
3439  {
3441  }
3442 
3443  bool operator!=(DescriptorSetLayout const & rhs ) const
3444  {
3446  }
3447 
3448  bool operator<(DescriptorSetLayout const & rhs ) const
3449  {
3451  }
3452 
3453 
3454 
3455  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorSetLayout() const
3456  {
3457  return m_descriptorSetLayout;
3458  }
3459 
3460  explicit operator bool() const
3461  {
3463  }
3464 
3465  bool operator!() const
3466  {
3468  }
3469 
3470  private:
3471  VkDescriptorSetLayout m_descriptorSetLayout;
3472  };
3473 
3474  static_assert( sizeof( DescriptorSetLayout ) == sizeof( VkDescriptorSetLayout ), "handle and wrapper have different size!" );
3475 
3477  {
3478  public:
3481  {}
3482 
3485  {}
3486 
3487  VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorPool( VkDescriptorPool descriptorPool )
3488  : m_descriptorPool( descriptorPool )
3489  {}
3490 
3491 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3492  DescriptorPool & operator=(VkDescriptorPool descriptorPool)
3493  {
3494  m_descriptorPool = descriptorPool;
3495  return *this;
3496  }
3497 #endif
3498 
3499  DescriptorPool & operator=( std::nullptr_t )
3500  {
3502  return *this;
3503  }
3504 
3505  bool operator==( DescriptorPool const & rhs ) const
3506  {
3507  return m_descriptorPool == rhs.m_descriptorPool;
3508  }
3509 
3510  bool operator!=(DescriptorPool const & rhs ) const
3511  {
3512  return m_descriptorPool != rhs.m_descriptorPool;
3513  }
3514 
3515  bool operator<(DescriptorPool const & rhs ) const
3516  {
3517  return m_descriptorPool < rhs.m_descriptorPool;
3518  }
3519 
3520 
3521 
3522  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorPool() const
3523  {
3524  return m_descriptorPool;
3525  }
3526 
3527  explicit operator bool() const
3528  {
3529  return m_descriptorPool != VK_NULL_HANDLE;
3530  }
3531 
3532  bool operator!() const
3533  {
3534  return m_descriptorPool == VK_NULL_HANDLE;
3535  }
3536 
3537  private:
3538  VkDescriptorPool m_descriptorPool;
3539  };
3540 
3541  static_assert( sizeof( DescriptorPool ) == sizeof( VkDescriptorPool ), "handle and wrapper have different size!" );
3542 
3543  class Fence
3544  {
3545  public:
3548  {}
3549 
3550  VULKAN_HPP_CONSTEXPR Fence( std::nullptr_t )
3552  {}
3553 
3555  : m_fence( fence )
3556  {}
3557 
3558 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3559  Fence & operator=(VkFence fence)
3560  {
3561  m_fence = fence;
3562  return *this;
3563  }
3564 #endif
3565 
3566  Fence & operator=( std::nullptr_t )
3567  {
3569  return *this;
3570  }
3571 
3572  bool operator==( Fence const & rhs ) const
3573  {
3574  return m_fence == rhs.m_fence;
3575  }
3576 
3577  bool operator!=(Fence const & rhs ) const
3578  {
3579  return m_fence != rhs.m_fence;
3580  }
3581 
3582  bool operator<(Fence const & rhs ) const
3583  {
3584  return m_fence < rhs.m_fence;
3585  }
3586 
3587 
3588 
3589  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkFence() const
3590  {
3591  return m_fence;
3592  }
3593 
3594  explicit operator bool() const
3595  {
3596  return m_fence != VK_NULL_HANDLE;
3597  }
3598 
3599  bool operator!() const
3600  {
3601  return m_fence == VK_NULL_HANDLE;
3602  }
3603 
3604  private:
3605  VkFence m_fence;
3606  };
3607 
3608  static_assert( sizeof( Fence ) == sizeof( VkFence ), "handle and wrapper have different size!" );
3609 
3611  {
3612  public:
3615  {}
3616 
3619  {}
3620 
3621  VULKAN_HPP_TYPESAFE_EXPLICIT Semaphore( VkSemaphore semaphore )
3622  : m_semaphore( semaphore )
3623  {}
3624 
3625 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3626  Semaphore & operator=(VkSemaphore semaphore)
3627  {
3628  m_semaphore = semaphore;
3629  return *this;
3630  }
3631 #endif
3632 
3633  Semaphore & operator=( std::nullptr_t )
3634  {
3636  return *this;
3637  }
3638 
3639  bool operator==( Semaphore const & rhs ) const
3640  {
3641  return m_semaphore == rhs.m_semaphore;
3642  }
3643 
3644  bool operator!=(Semaphore const & rhs ) const
3645  {
3646  return m_semaphore != rhs.m_semaphore;
3647  }
3648 
3649  bool operator<(Semaphore const & rhs ) const
3650  {
3651  return m_semaphore < rhs.m_semaphore;
3652  }
3653 
3654 
3655 
3656  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSemaphore() const
3657  {
3658  return m_semaphore;
3659  }
3660 
3661  explicit operator bool() const
3662  {
3663  return m_semaphore != VK_NULL_HANDLE;
3664  }
3665 
3666  bool operator!() const
3667  {
3668  return m_semaphore == VK_NULL_HANDLE;
3669  }
3670 
3671  private:
3672  VkSemaphore m_semaphore;
3673  };
3674 
3675  static_assert( sizeof( Semaphore ) == sizeof( VkSemaphore ), "handle and wrapper have different size!" );
3676 
3677  class Event
3678  {
3679  public:
3682  {}
3683 
3684  VULKAN_HPP_CONSTEXPR Event( std::nullptr_t )
3686  {}
3687 
3689  : m_event( event )
3690  {}
3691 
3692 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3693  Event & operator=(VkEvent event)
3694  {
3695  m_event = event;
3696  return *this;
3697  }
3698 #endif
3699 
3700  Event & operator=( std::nullptr_t )
3701  {
3703  return *this;
3704  }
3705 
3706  bool operator==( Event const & rhs ) const
3707  {
3708  return m_event == rhs.m_event;
3709  }
3710 
3711  bool operator!=(Event const & rhs ) const
3712  {
3713  return m_event != rhs.m_event;
3714  }
3715 
3716  bool operator<(Event const & rhs ) const
3717  {
3718  return m_event < rhs.m_event;
3719  }
3720 
3721 
3722 
3723  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkEvent() const
3724  {
3725  return m_event;
3726  }
3727 
3728  explicit operator bool() const
3729  {
3730  return m_event != VK_NULL_HANDLE;
3731  }
3732 
3733  bool operator!() const
3734  {
3735  return m_event == VK_NULL_HANDLE;
3736  }
3737 
3738  private:
3739  VkEvent m_event;
3740  };
3741 
3742  static_assert( sizeof( Event ) == sizeof( VkEvent ), "handle and wrapper have different size!" );
3743 
3745  {
3746  public:
3749  {}
3750 
3753  {}
3754 
3755  VULKAN_HPP_TYPESAFE_EXPLICIT QueryPool( VkQueryPool queryPool )
3756  : m_queryPool( queryPool )
3757  {}
3758 
3759 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3760  QueryPool & operator=(VkQueryPool queryPool)
3761  {
3762  m_queryPool = queryPool;
3763  return *this;
3764  }
3765 #endif
3766 
3767  QueryPool & operator=( std::nullptr_t )
3768  {
3770  return *this;
3771  }
3772 
3773  bool operator==( QueryPool const & rhs ) const
3774  {
3775  return m_queryPool == rhs.m_queryPool;
3776  }
3777 
3778  bool operator!=(QueryPool const & rhs ) const
3779  {
3780  return m_queryPool != rhs.m_queryPool;
3781  }
3782 
3783  bool operator<(QueryPool const & rhs ) const
3784  {
3785  return m_queryPool < rhs.m_queryPool;
3786  }
3787 
3788 
3789 
3790  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkQueryPool() const
3791  {
3792  return m_queryPool;
3793  }
3794 
3795  explicit operator bool() const
3796  {
3797  return m_queryPool != VK_NULL_HANDLE;
3798  }
3799 
3800  bool operator!() const
3801  {
3802  return m_queryPool == VK_NULL_HANDLE;
3803  }
3804 
3805  private:
3806  VkQueryPool m_queryPool;
3807  };
3808 
3809  static_assert( sizeof( QueryPool ) == sizeof( VkQueryPool ), "handle and wrapper have different size!" );
3810 
3812  {
3813  public:
3816  {}
3817 
3820  {}
3821 
3824  {}
3825 
3826 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3827  Framebuffer & operator=(VkFramebuffer framebuffer)
3828  {
3830  return *this;
3831  }
3832 #endif
3833 
3834  Framebuffer & operator=( std::nullptr_t )
3835  {
3837  return *this;
3838  }
3839 
3840  bool operator==( Framebuffer const & rhs ) const
3841  {
3842  return m_framebuffer == rhs.m_framebuffer;
3843  }
3844 
3845  bool operator!=(Framebuffer const & rhs ) const
3846  {
3847  return m_framebuffer != rhs.m_framebuffer;
3848  }
3849 
3850  bool operator<(Framebuffer const & rhs ) const
3851  {
3852  return m_framebuffer < rhs.m_framebuffer;
3853  }
3854 
3855 
3856 
3857  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkFramebuffer() const
3858  {
3859  return m_framebuffer;
3860  }
3861 
3862  explicit operator bool() const
3863  {
3864  return m_framebuffer != VK_NULL_HANDLE;
3865  }
3866 
3867  bool operator!() const
3868  {
3869  return m_framebuffer == VK_NULL_HANDLE;
3870  }
3871 
3872  private:
3873  VkFramebuffer m_framebuffer;
3874  };
3875 
3876  static_assert( sizeof( Framebuffer ) == sizeof( VkFramebuffer ), "handle and wrapper have different size!" );
3877 
3879  {
3880  public:
3883  {}
3884 
3887  {}
3888 
3889  VULKAN_HPP_TYPESAFE_EXPLICIT RenderPass( VkRenderPass renderPass )
3890  : m_renderPass( renderPass )
3891  {}
3892 
3893 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3894  RenderPass & operator=(VkRenderPass renderPass)
3895  {
3896  m_renderPass = renderPass;
3897  return *this;
3898  }
3899 #endif
3900 
3901  RenderPass & operator=( std::nullptr_t )
3902  {
3904  return *this;
3905  }
3906 
3907  bool operator==( RenderPass const & rhs ) const
3908  {
3909  return m_renderPass == rhs.m_renderPass;
3910  }
3911 
3912  bool operator!=(RenderPass const & rhs ) const
3913  {
3914  return m_renderPass != rhs.m_renderPass;
3915  }
3916 
3917  bool operator<(RenderPass const & rhs ) const
3918  {
3919  return m_renderPass < rhs.m_renderPass;
3920  }
3921 
3922 
3923 
3924  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkRenderPass() const
3925  {
3926  return m_renderPass;
3927  }
3928 
3929  explicit operator bool() const
3930  {
3931  return m_renderPass != VK_NULL_HANDLE;
3932  }
3933 
3934  bool operator!() const
3935  {
3936  return m_renderPass == VK_NULL_HANDLE;
3937  }
3938 
3939  private:
3940  VkRenderPass m_renderPass;
3941  };
3942 
3943  static_assert( sizeof( RenderPass ) == sizeof( VkRenderPass ), "handle and wrapper have different size!" );
3944 
3946  {
3947  public:
3950  {}
3951 
3954  {}
3955 
3956  VULKAN_HPP_TYPESAFE_EXPLICIT PipelineCache( VkPipelineCache pipelineCache )
3957  : m_pipelineCache( pipelineCache )
3958  {}
3959 
3960 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
3961  PipelineCache & operator=(VkPipelineCache pipelineCache)
3962  {
3963  m_pipelineCache = pipelineCache;
3964  return *this;
3965  }
3966 #endif
3967 
3968  PipelineCache & operator=( std::nullptr_t )
3969  {
3971  return *this;
3972  }
3973 
3974  bool operator==( PipelineCache const & rhs ) const
3975  {
3976  return m_pipelineCache == rhs.m_pipelineCache;
3977  }
3978 
3979  bool operator!=(PipelineCache const & rhs ) const
3980  {
3981  return m_pipelineCache != rhs.m_pipelineCache;
3982  }
3983 
3984  bool operator<(PipelineCache const & rhs ) const
3985  {
3986  return m_pipelineCache < rhs.m_pipelineCache;
3987  }
3988 
3989 
3990 
3991  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPipelineCache() const
3992  {
3993  return m_pipelineCache;
3994  }
3995 
3996  explicit operator bool() const
3997  {
3998  return m_pipelineCache != VK_NULL_HANDLE;
3999  }
4000 
4001  bool operator!() const
4002  {
4003  return m_pipelineCache == VK_NULL_HANDLE;
4004  }
4005 
4006  private:
4007  VkPipelineCache m_pipelineCache;
4008  };
4009 
4010  static_assert( sizeof( PipelineCache ) == sizeof( VkPipelineCache ), "handle and wrapper have different size!" );
4011 
4013  {
4014  public:
4017  {}
4018 
4021  {}
4022 
4023  VULKAN_HPP_TYPESAFE_EXPLICIT ObjectTableNVX( VkObjectTableNVX objectTableNVX )
4024  : m_objectTableNVX( objectTableNVX )
4025  {}
4026 
4027 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4028  ObjectTableNVX & operator=(VkObjectTableNVX objectTableNVX)
4029  {
4030  m_objectTableNVX = objectTableNVX;
4031  return *this;
4032  }
4033 #endif
4034 
4035  ObjectTableNVX & operator=( std::nullptr_t )
4036  {
4038  return *this;
4039  }
4040 
4041  bool operator==( ObjectTableNVX const & rhs ) const
4042  {
4043  return m_objectTableNVX == rhs.m_objectTableNVX;
4044  }
4045 
4046  bool operator!=(ObjectTableNVX const & rhs ) const
4047  {
4048  return m_objectTableNVX != rhs.m_objectTableNVX;
4049  }
4050 
4051  bool operator<(ObjectTableNVX const & rhs ) const
4052  {
4053  return m_objectTableNVX < rhs.m_objectTableNVX;
4054  }
4055 
4056 
4057 
4058  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkObjectTableNVX() const
4059  {
4060  return m_objectTableNVX;
4061  }
4062 
4063  explicit operator bool() const
4064  {
4065  return m_objectTableNVX != VK_NULL_HANDLE;
4066  }
4067 
4068  bool operator!() const
4069  {
4070  return m_objectTableNVX == VK_NULL_HANDLE;
4071  }
4072 
4073  private:
4074  VkObjectTableNVX m_objectTableNVX;
4075  };
4076 
4077  static_assert( sizeof( ObjectTableNVX ) == sizeof( VkObjectTableNVX ), "handle and wrapper have different size!" );
4078 
4080  {
4081  public:
4084  {}
4085 
4088  {}
4089 
4090  VULKAN_HPP_TYPESAFE_EXPLICIT IndirectCommandsLayoutNVX( VkIndirectCommandsLayoutNVX indirectCommandsLayoutNVX )
4091  : m_indirectCommandsLayoutNVX( indirectCommandsLayoutNVX )
4092  {}
4093 
4094 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4095  IndirectCommandsLayoutNVX & operator=(VkIndirectCommandsLayoutNVX indirectCommandsLayoutNVX)
4096  {
4097  m_indirectCommandsLayoutNVX = indirectCommandsLayoutNVX;
4098  return *this;
4099  }
4100 #endif
4101 
4103  {
4105  return *this;
4106  }
4107 
4108  bool operator==( IndirectCommandsLayoutNVX const & rhs ) const
4109  {
4111  }
4112 
4113  bool operator!=(IndirectCommandsLayoutNVX const & rhs ) const
4114  {
4116  }
4117 
4118  bool operator<(IndirectCommandsLayoutNVX const & rhs ) const
4119  {
4121  }
4122 
4123 
4124 
4125  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkIndirectCommandsLayoutNVX() const
4126  {
4128  }
4129 
4130  explicit operator bool() const
4131  {
4133  }
4134 
4135  bool operator!() const
4136  {
4138  }
4139 
4140  private:
4141  VkIndirectCommandsLayoutNVX m_indirectCommandsLayoutNVX;
4142  };
4143 
4144  static_assert( sizeof( IndirectCommandsLayoutNVX ) == sizeof( VkIndirectCommandsLayoutNVX ), "handle and wrapper have different size!" );
4145 
4147  {
4148  public:
4151  {}
4152 
4155  {}
4156 
4157  VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorUpdateTemplate( VkDescriptorUpdateTemplate descriptorUpdateTemplate )
4158  : m_descriptorUpdateTemplate( descriptorUpdateTemplate )
4159  {}
4160 
4161 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4162  DescriptorUpdateTemplate & operator=(VkDescriptorUpdateTemplate descriptorUpdateTemplate)
4163  {
4164  m_descriptorUpdateTemplate = descriptorUpdateTemplate;
4165  return *this;
4166  }
4167 #endif
4168 
4170  {
4172  return *this;
4173  }
4174 
4175  bool operator==( DescriptorUpdateTemplate const & rhs ) const
4176  {
4178  }
4179 
4180  bool operator!=(DescriptorUpdateTemplate const & rhs ) const
4181  {
4183  }
4184 
4185  bool operator<(DescriptorUpdateTemplate const & rhs ) const
4186  {
4188  }
4189 
4190 
4191 
4192  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDescriptorUpdateTemplate() const
4193  {
4195  }
4196 
4197  explicit operator bool() const
4198  {
4200  }
4201 
4202  bool operator!() const
4203  {
4205  }
4206 
4207  private:
4208  VkDescriptorUpdateTemplate m_descriptorUpdateTemplate;
4209  };
4210 
4211  static_assert( sizeof( DescriptorUpdateTemplate ) == sizeof( VkDescriptorUpdateTemplate ), "handle and wrapper have different size!" );
4212 
4214 
4216  {
4217  public:
4220  {}
4221 
4224  {}
4225 
4226  VULKAN_HPP_TYPESAFE_EXPLICIT SamplerYcbcrConversion( VkSamplerYcbcrConversion samplerYcbcrConversion )
4227  : m_samplerYcbcrConversion( samplerYcbcrConversion )
4228  {}
4229 
4230 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4231  SamplerYcbcrConversion & operator=(VkSamplerYcbcrConversion samplerYcbcrConversion)
4232  {
4233  m_samplerYcbcrConversion = samplerYcbcrConversion;
4234  return *this;
4235  }
4236 #endif
4237 
4238  SamplerYcbcrConversion & operator=( std::nullptr_t )
4239  {
4241  return *this;
4242  }
4243 
4244  bool operator==( SamplerYcbcrConversion const & rhs ) const
4245  {
4247  }
4248 
4249  bool operator!=(SamplerYcbcrConversion const & rhs ) const
4250  {
4252  }
4253 
4254  bool operator<(SamplerYcbcrConversion const & rhs ) const
4255  {
4257  }
4258 
4259 
4260 
4261  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSamplerYcbcrConversion() const
4262  {
4263  return m_samplerYcbcrConversion;
4264  }
4265 
4266  explicit operator bool() const
4267  {
4269  }
4270 
4271  bool operator!() const
4272  {
4274  }
4275 
4276  private:
4277  VkSamplerYcbcrConversion m_samplerYcbcrConversion;
4278  };
4279 
4280  static_assert( sizeof( SamplerYcbcrConversion ) == sizeof( VkSamplerYcbcrConversion ), "handle and wrapper have different size!" );
4281 
4283 
4285  {
4286  public:
4289  {}
4290 
4293  {}
4294 
4295  VULKAN_HPP_TYPESAFE_EXPLICIT ValidationCacheEXT( VkValidationCacheEXT validationCacheEXT )
4296  : m_validationCacheEXT( validationCacheEXT )
4297  {}
4298 
4299 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4300  ValidationCacheEXT & operator=(VkValidationCacheEXT validationCacheEXT)
4301  {
4302  m_validationCacheEXT = validationCacheEXT;
4303  return *this;
4304  }
4305 #endif
4306 
4307  ValidationCacheEXT & operator=( std::nullptr_t )
4308  {
4310  return *this;
4311  }
4312 
4313  bool operator==( ValidationCacheEXT const & rhs ) const
4314  {
4316  }
4317 
4318  bool operator!=(ValidationCacheEXT const & rhs ) const
4319  {
4321  }
4322 
4323  bool operator<(ValidationCacheEXT const & rhs ) const
4324  {
4326  }
4327 
4328 
4329 
4330  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkValidationCacheEXT() const
4331  {
4332  return m_validationCacheEXT;
4333  }
4334 
4335  explicit operator bool() const
4336  {
4338  }
4339 
4340  bool operator!() const
4341  {
4343  }
4344 
4345  private:
4346  VkValidationCacheEXT m_validationCacheEXT;
4347  };
4348 
4349  static_assert( sizeof( ValidationCacheEXT ) == sizeof( VkValidationCacheEXT ), "handle and wrapper have different size!" );
4350 
4352  {
4353  public:
4356  {}
4357 
4360  {}
4361 
4362  VULKAN_HPP_TYPESAFE_EXPLICIT DisplayKHR( VkDisplayKHR displayKHR )
4363  : m_displayKHR( displayKHR )
4364  {}
4365 
4366 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4367  DisplayKHR & operator=(VkDisplayKHR displayKHR)
4368  {
4369  m_displayKHR = displayKHR;
4370  return *this;
4371  }
4372 #endif
4373 
4374  DisplayKHR & operator=( std::nullptr_t )
4375  {
4377  return *this;
4378  }
4379 
4380  bool operator==( DisplayKHR const & rhs ) const
4381  {
4382  return m_displayKHR == rhs.m_displayKHR;
4383  }
4384 
4385  bool operator!=(DisplayKHR const & rhs ) const
4386  {
4387  return m_displayKHR != rhs.m_displayKHR;
4388  }
4389 
4390  bool operator<(DisplayKHR const & rhs ) const
4391  {
4392  return m_displayKHR < rhs.m_displayKHR;
4393  }
4394 
4395 
4396 
4397  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDisplayKHR() const
4398  {
4399  return m_displayKHR;
4400  }
4401 
4402  explicit operator bool() const
4403  {
4404  return m_displayKHR != VK_NULL_HANDLE;
4405  }
4406 
4407  bool operator!() const
4408  {
4409  return m_displayKHR == VK_NULL_HANDLE;
4410  }
4411 
4412  private:
4413  VkDisplayKHR m_displayKHR;
4414  };
4415 
4416  static_assert( sizeof( DisplayKHR ) == sizeof( VkDisplayKHR ), "handle and wrapper have different size!" );
4417 
4419  {
4420  public:
4423  {}
4424 
4427  {}
4428 
4429  VULKAN_HPP_TYPESAFE_EXPLICIT DisplayModeKHR( VkDisplayModeKHR displayModeKHR )
4430  : m_displayModeKHR( displayModeKHR )
4431  {}
4432 
4433 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4434  DisplayModeKHR & operator=(VkDisplayModeKHR displayModeKHR)
4435  {
4436  m_displayModeKHR = displayModeKHR;
4437  return *this;
4438  }
4439 #endif
4440 
4441  DisplayModeKHR & operator=( std::nullptr_t )
4442  {
4444  return *this;
4445  }
4446 
4447  bool operator==( DisplayModeKHR const & rhs ) const
4448  {
4449  return m_displayModeKHR == rhs.m_displayModeKHR;
4450  }
4451 
4452  bool operator!=(DisplayModeKHR const & rhs ) const
4453  {
4454  return m_displayModeKHR != rhs.m_displayModeKHR;
4455  }
4456 
4457  bool operator<(DisplayModeKHR const & rhs ) const
4458  {
4459  return m_displayModeKHR < rhs.m_displayModeKHR;
4460  }
4461 
4462 
4463 
4464  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDisplayModeKHR() const
4465  {
4466  return m_displayModeKHR;
4467  }
4468 
4469  explicit operator bool() const
4470  {
4471  return m_displayModeKHR != VK_NULL_HANDLE;
4472  }
4473 
4474  bool operator!() const
4475  {
4476  return m_displayModeKHR == VK_NULL_HANDLE;
4477  }
4478 
4479  private:
4480  VkDisplayModeKHR m_displayModeKHR;
4481  };
4482 
4483  static_assert( sizeof( DisplayModeKHR ) == sizeof( VkDisplayModeKHR ), "handle and wrapper have different size!" );
4484 
4486  {
4487  public:
4490  {}
4491 
4494  {}
4495 
4496  VULKAN_HPP_TYPESAFE_EXPLICIT SurfaceKHR( VkSurfaceKHR surfaceKHR )
4497  : m_surfaceKHR( surfaceKHR )
4498  {}
4499 
4500 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4501  SurfaceKHR & operator=(VkSurfaceKHR surfaceKHR)
4502  {
4503  m_surfaceKHR = surfaceKHR;
4504  return *this;
4505  }
4506 #endif
4507 
4508  SurfaceKHR & operator=( std::nullptr_t )
4509  {
4511  return *this;
4512  }
4513 
4514  bool operator==( SurfaceKHR const & rhs ) const
4515  {
4516  return m_surfaceKHR == rhs.m_surfaceKHR;
4517  }
4518 
4519  bool operator!=(SurfaceKHR const & rhs ) const
4520  {
4521  return m_surfaceKHR != rhs.m_surfaceKHR;
4522  }
4523 
4524  bool operator<(SurfaceKHR const & rhs ) const
4525  {
4526  return m_surfaceKHR < rhs.m_surfaceKHR;
4527  }
4528 
4529 
4530 
4531  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSurfaceKHR() const
4532  {
4533  return m_surfaceKHR;
4534  }
4535 
4536  explicit operator bool() const
4537  {
4538  return m_surfaceKHR != VK_NULL_HANDLE;
4539  }
4540 
4541  bool operator!() const
4542  {
4543  return m_surfaceKHR == VK_NULL_HANDLE;
4544  }
4545 
4546  private:
4547  VkSurfaceKHR m_surfaceKHR;
4548  };
4549 
4550  static_assert( sizeof( SurfaceKHR ) == sizeof( VkSurfaceKHR ), "handle and wrapper have different size!" );
4551 
4553  {
4554  public:
4557  {}
4558 
4561  {}
4562 
4563  VULKAN_HPP_TYPESAFE_EXPLICIT SwapchainKHR( VkSwapchainKHR swapchainKHR )
4564  : m_swapchainKHR( swapchainKHR )
4565  {}
4566 
4567 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4568  SwapchainKHR & operator=(VkSwapchainKHR swapchainKHR)
4569  {
4570  m_swapchainKHR = swapchainKHR;
4571  return *this;
4572  }
4573 #endif
4574 
4575  SwapchainKHR & operator=( std::nullptr_t )
4576  {
4578  return *this;
4579  }
4580 
4581  bool operator==( SwapchainKHR const & rhs ) const
4582  {
4583  return m_swapchainKHR == rhs.m_swapchainKHR;
4584  }
4585 
4586  bool operator!=(SwapchainKHR const & rhs ) const
4587  {
4588  return m_swapchainKHR != rhs.m_swapchainKHR;
4589  }
4590 
4591  bool operator<(SwapchainKHR const & rhs ) const
4592  {
4593  return m_swapchainKHR < rhs.m_swapchainKHR;
4594  }
4595 
4596 
4597 
4598  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkSwapchainKHR() const
4599  {
4600  return m_swapchainKHR;
4601  }
4602 
4603  explicit operator bool() const
4604  {
4605  return m_swapchainKHR != VK_NULL_HANDLE;
4606  }
4607 
4608  bool operator!() const
4609  {
4610  return m_swapchainKHR == VK_NULL_HANDLE;
4611  }
4612 
4613  private:
4614  VkSwapchainKHR m_swapchainKHR;
4615  };
4616 
4617  static_assert( sizeof( SwapchainKHR ) == sizeof( VkSwapchainKHR ), "handle and wrapper have different size!" );
4618 
4620  {
4621  public:
4624  {}
4625 
4628  {}
4629 
4630  VULKAN_HPP_TYPESAFE_EXPLICIT DebugReportCallbackEXT( VkDebugReportCallbackEXT debugReportCallbackEXT )
4631  : m_debugReportCallbackEXT( debugReportCallbackEXT )
4632  {}
4633 
4634 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4635  DebugReportCallbackEXT & operator=(VkDebugReportCallbackEXT debugReportCallbackEXT)
4636  {
4637  m_debugReportCallbackEXT = debugReportCallbackEXT;
4638  return *this;
4639  }
4640 #endif
4641 
4642  DebugReportCallbackEXT & operator=( std::nullptr_t )
4643  {
4645  return *this;
4646  }
4647 
4648  bool operator==( DebugReportCallbackEXT const & rhs ) const
4649  {
4651  }
4652 
4653  bool operator!=(DebugReportCallbackEXT const & rhs ) const
4654  {
4656  }
4657 
4658  bool operator<(DebugReportCallbackEXT const & rhs ) const
4659  {
4661  }
4662 
4663 
4664 
4665  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDebugReportCallbackEXT() const
4666  {
4667  return m_debugReportCallbackEXT;
4668  }
4669 
4670  explicit operator bool() const
4671  {
4673  }
4674 
4675  bool operator!() const
4676  {
4678  }
4679 
4680  private:
4681  VkDebugReportCallbackEXT m_debugReportCallbackEXT;
4682  };
4683 
4684  static_assert( sizeof( DebugReportCallbackEXT ) == sizeof( VkDebugReportCallbackEXT ), "handle and wrapper have different size!" );
4685 
4687  {
4688  public:
4691  {}
4692 
4695  {}
4696 
4697  VULKAN_HPP_TYPESAFE_EXPLICIT DebugUtilsMessengerEXT( VkDebugUtilsMessengerEXT debugUtilsMessengerEXT )
4698  : m_debugUtilsMessengerEXT( debugUtilsMessengerEXT )
4699  {}
4700 
4701 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
4702  DebugUtilsMessengerEXT & operator=(VkDebugUtilsMessengerEXT debugUtilsMessengerEXT)
4703  {
4704  m_debugUtilsMessengerEXT = debugUtilsMessengerEXT;
4705  return *this;
4706  }
4707 #endif
4708 
4709  DebugUtilsMessengerEXT & operator=( std::nullptr_t )
4710  {
4712  return *this;
4713  }
4714 
4715  bool operator==( DebugUtilsMessengerEXT const & rhs ) const
4716  {
4718  }
4719 
4720  bool operator!=(DebugUtilsMessengerEXT const & rhs ) const
4721  {
4723  }
4724 
4725  bool operator<(DebugUtilsMessengerEXT const & rhs ) const
4726  {
4728  }
4729 
4730 
4731 
4732  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDebugUtilsMessengerEXT() const
4733  {
4734  return m_debugUtilsMessengerEXT;
4735  }
4736 
4737  explicit operator bool() const
4738  {
4740  }
4741 
4742  bool operator!() const
4743  {
4745  }
4746 
4747  private:
4748  VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT;
4749  };
4750 
4751  static_assert( sizeof( DebugUtilsMessengerEXT ) == sizeof( VkDebugUtilsMessengerEXT ), "handle and wrapper have different size!" );
4752 
4753  struct Offset2D
4754  {
4755  Offset2D( int32_t x_ = 0, int32_t y_ = 0 )
4756  : x( x_ )
4757  , y( y_ )
4758  {
4759  }
4760 
4761  Offset2D( VkOffset2D const & rhs )
4762  {
4763  memcpy( this, &rhs, sizeof( Offset2D ) );
4764  }
4765 
4767  {
4768  memcpy( this, &rhs, sizeof( Offset2D ) );
4769  return *this;
4770  }
4772  {
4773  x = x_;
4774  return *this;
4775  }
4776 
4778  {
4779  y = y_;
4780  return *this;
4781  }
4782 
4783  operator const VkOffset2D&() const
4784  {
4785  return *reinterpret_cast<const VkOffset2D*>(this);
4786  }
4787 
4788  bool operator==( Offset2D const& rhs ) const
4789  {
4790  return ( x == rhs.x )
4791  && ( y == rhs.y );
4792  }
4793 
4794  bool operator!=( Offset2D const& rhs ) const
4795  {
4796  return !operator==( rhs );
4797  }
4798 
4801  };
4802  static_assert( sizeof( Offset2D ) == sizeof( VkOffset2D ), "struct and wrapper have different size!" );
4803 
4804  struct Offset3D
4805  {
4806  Offset3D( int32_t x_ = 0, int32_t y_ = 0, int32_t z_ = 0 )
4807  : x( x_ )
4808  , y( y_ )
4809  , z( z_ )
4810  {
4811  }
4812 
4813  Offset3D( VkOffset3D const & rhs )
4814  {
4815  memcpy( this, &rhs, sizeof( Offset3D ) );
4816  }
4817 
4819  {
4820  memcpy( this, &rhs, sizeof( Offset3D ) );
4821  return *this;
4822  }
4824  {
4825  x = x_;
4826  return *this;
4827  }
4828 
4830  {
4831  y = y_;
4832  return *this;
4833  }
4834 
4836  {
4837  z = z_;
4838  return *this;
4839  }
4840 
4841  operator const VkOffset3D&() const
4842  {
4843  return *reinterpret_cast<const VkOffset3D*>(this);
4844  }
4845 
4846  bool operator==( Offset3D const& rhs ) const
4847  {
4848  return ( x == rhs.x )
4849  && ( y == rhs.y )
4850  && ( z == rhs.z );
4851  }
4852 
4853  bool operator!=( Offset3D const& rhs ) const
4854  {
4855  return !operator==( rhs );
4856  }
4857 
4861  };
4862  static_assert( sizeof( Offset3D ) == sizeof( VkOffset3D ), "struct and wrapper have different size!" );
4863 
4864  struct Extent2D
4865  {
4866  Extent2D( uint32_t width_ = 0, uint32_t height_ = 0 )
4867  : width( width_ )
4868  , height( height_ )
4869  {
4870  }
4871 
4872  Extent2D( VkExtent2D const & rhs )
4873  {
4874  memcpy( this, &rhs, sizeof( Extent2D ) );
4875  }
4876 
4878  {
4879  memcpy( this, &rhs, sizeof( Extent2D ) );
4880  return *this;
4881  }
4883  {
4884  width = width_;
4885  return *this;
4886  }
4887 
4889  {
4890  height = height_;
4891  return *this;
4892  }
4893 
4894  operator const VkExtent2D&() const
4895  {
4896  return *reinterpret_cast<const VkExtent2D*>(this);
4897  }
4898 
4899  bool operator==( Extent2D const& rhs ) const
4900  {
4901  return ( width == rhs.width )
4902  && ( height == rhs.height );
4903  }
4904 
4905  bool operator!=( Extent2D const& rhs ) const
4906  {
4907  return !operator==( rhs );
4908  }
4909 
4912  };
4913  static_assert( sizeof( Extent2D ) == sizeof( VkExtent2D ), "struct and wrapper have different size!" );
4914 
4915  struct Extent3D
4916  {
4917  Extent3D( uint32_t width_ = 0, uint32_t height_ = 0, uint32_t depth_ = 0 )
4918  : width( width_ )
4919  , height( height_ )
4920  , depth( depth_ )
4921  {
4922  }
4923 
4924  Extent3D( VkExtent3D const & rhs )
4925  {
4926  memcpy( this, &rhs, sizeof( Extent3D ) );
4927  }
4928 
4930  {
4931  memcpy( this, &rhs, sizeof( Extent3D ) );
4932  return *this;
4933  }
4935  {
4936  width = width_;
4937  return *this;
4938  }
4939 
4941  {
4942  height = height_;
4943  return *this;
4944  }
4945 
4947  {
4948  depth = depth_;
4949  return *this;
4950  }
4951 
4952  operator const VkExtent3D&() const
4953  {
4954  return *reinterpret_cast<const VkExtent3D*>(this);
4955  }
4956 
4957  bool operator==( Extent3D const& rhs ) const
4958  {
4959  return ( width == rhs.width )
4960  && ( height == rhs.height )
4961  && ( depth == rhs.depth );
4962  }
4963 
4964  bool operator!=( Extent3D const& rhs ) const
4965  {
4966  return !operator==( rhs );
4967  }
4968 
4972  };
4973  static_assert( sizeof( Extent3D ) == sizeof( VkExtent3D ), "struct and wrapper have different size!" );
4974 
4975  struct Viewport
4976  {
4977  Viewport( float x_ = 0, float y_ = 0, float width_ = 0, float height_ = 0, float minDepth_ = 0, float maxDepth_ = 0 )
4978  : x( x_ )
4979  , y( y_ )
4980  , width( width_ )
4981  , height( height_ )
4982  , minDepth( minDepth_ )
4983  , maxDepth( maxDepth_ )
4984  {
4985  }
4986 
4987  Viewport( VkViewport const & rhs )
4988  {
4989  memcpy( this, &rhs, sizeof( Viewport ) );
4990  }
4991 
4993  {
4994  memcpy( this, &rhs, sizeof( Viewport ) );
4995  return *this;
4996  }
4997  Viewport& setX( float x_ )
4998  {
4999  x = x_;
5000  return *this;
5001  }
5002 
5003  Viewport& setY( float y_ )
5004  {
5005  y = y_;
5006  return *this;
5007  }
5008 
5009  Viewport& setWidth( float width_ )
5010  {
5011  width = width_;
5012  return *this;
5013  }
5014 
5015  Viewport& setHeight( float height_ )
5016  {
5017  height = height_;
5018  return *this;
5019  }
5020 
5021  Viewport& setMinDepth( float minDepth_ )
5022  {
5023  minDepth = minDepth_;
5024  return *this;
5025  }
5026 
5027  Viewport& setMaxDepth( float maxDepth_ )
5028  {
5029  maxDepth = maxDepth_;
5030  return *this;
5031  }
5032 
5033  operator const VkViewport&() const
5034  {
5035  return *reinterpret_cast<const VkViewport*>(this);
5036  }
5037 
5038  bool operator==( Viewport const& rhs ) const
5039  {
5040  return ( x == rhs.x )
5041  && ( y == rhs.y )
5042  && ( width == rhs.width )
5043  && ( height == rhs.height )
5044  && ( minDepth == rhs.minDepth )
5045  && ( maxDepth == rhs.maxDepth );
5046  }
5047 
5048  bool operator!=( Viewport const& rhs ) const
5049  {
5050  return !operator==( rhs );
5051  }
5052 
5053  float x;
5054  float y;
5055  float width;
5056  float height;
5057  float minDepth;
5058  float maxDepth;
5059  };
5060  static_assert( sizeof( Viewport ) == sizeof( VkViewport ), "struct and wrapper have different size!" );
5061 
5062  struct Rect2D
5063  {
5064  Rect2D( Offset2D offset_ = Offset2D(), Extent2D extent_ = Extent2D() )
5065  : offset( offset_ )
5066  , extent( extent_ )
5067  {
5068  }
5069 
5070  Rect2D( VkRect2D const & rhs )
5071  {
5072  memcpy( this, &rhs, sizeof( Rect2D ) );
5073  }
5074 
5075  Rect2D& operator=( VkRect2D const & rhs )
5076  {
5077  memcpy( this, &rhs, sizeof( Rect2D ) );
5078  return *this;
5079  }
5081  {
5082  offset = offset_;
5083  return *this;
5084  }
5085 
5087  {
5088  extent = extent_;
5089  return *this;
5090  }
5091 
5092  operator const VkRect2D&() const
5093  {
5094  return *reinterpret_cast<const VkRect2D*>(this);
5095  }
5096 
5097  bool operator==( Rect2D const& rhs ) const
5098  {
5099  return ( offset == rhs.offset )
5100  && ( extent == rhs.extent );
5101  }
5102 
5103  bool operator!=( Rect2D const& rhs ) const
5104  {
5105  return !operator==( rhs );
5106  }
5107 
5110  };
5111  static_assert( sizeof( Rect2D ) == sizeof( VkRect2D ), "struct and wrapper have different size!" );
5112 
5113  struct ClearRect
5114  {
5115  ClearRect( Rect2D rect_ = Rect2D(), uint32_t baseArrayLayer_ = 0, uint32_t layerCount_ = 0 )
5116  : rect( rect_ )
5117  , baseArrayLayer( baseArrayLayer_ )
5118  , layerCount( layerCount_ )
5119  {
5120  }
5121 
5122  ClearRect( VkClearRect const & rhs )
5123  {
5124  memcpy( this, &rhs, sizeof( ClearRect ) );
5125  }
5126 
5128  {
5129  memcpy( this, &rhs, sizeof( ClearRect ) );
5130  return *this;
5131  }
5133  {
5134  rect = rect_;
5135  return *this;
5136  }
5137 
5139  {
5140  baseArrayLayer = baseArrayLayer_;
5141  return *this;
5142  }
5143 
5145  {
5146  layerCount = layerCount_;
5147  return *this;
5148  }
5149 
5150  operator const VkClearRect&() const
5151  {
5152  return *reinterpret_cast<const VkClearRect*>(this);
5153  }
5154 
5155  bool operator==( ClearRect const& rhs ) const
5156  {
5157  return ( rect == rhs.rect )
5158  && ( baseArrayLayer == rhs.baseArrayLayer )
5159  && ( layerCount == rhs.layerCount );
5160  }
5161 
5162  bool operator!=( ClearRect const& rhs ) const
5163  {
5164  return !operator==( rhs );
5165  }
5166 
5170  };
5171  static_assert( sizeof( ClearRect ) == sizeof( VkClearRect ), "struct and wrapper have different size!" );
5172 
5174  {
5175  operator const VkExtensionProperties&() const
5176  {
5177  return *reinterpret_cast<const VkExtensionProperties*>(this);
5178  }
5179 
5180  bool operator==( ExtensionProperties const& rhs ) const
5181  {
5182  return ( memcmp( extensionName, rhs.extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof( char ) ) == 0 )
5183  && ( specVersion == rhs.specVersion );
5184  }
5185 
5186  bool operator!=( ExtensionProperties const& rhs ) const
5187  {
5188  return !operator==( rhs );
5189  }
5190 
5193  };
5194  static_assert( sizeof( ExtensionProperties ) == sizeof( VkExtensionProperties ), "struct and wrapper have different size!" );
5195 
5197  {
5198  operator const VkLayerProperties&() const
5199  {
5200  return *reinterpret_cast<const VkLayerProperties*>(this);
5201  }
5202 
5203  bool operator==( LayerProperties const& rhs ) const
5204  {
5205  return ( memcmp( layerName, rhs.layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof( char ) ) == 0 )
5206  && ( specVersion == rhs.specVersion )
5208  && ( memcmp( description, rhs.description, VK_MAX_DESCRIPTION_SIZE * sizeof( char ) ) == 0 );
5209  }
5210 
5211  bool operator!=( LayerProperties const& rhs ) const
5212  {
5213  return !operator==( rhs );
5214  }
5215 
5220  };
5221  static_assert( sizeof( LayerProperties ) == sizeof( VkLayerProperties ), "struct and wrapper have different size!" );
5222 
5224  {
5225  AllocationCallbacks( void* pUserData_ = nullptr, PFN_vkAllocationFunction pfnAllocation_ = nullptr, PFN_vkReallocationFunction pfnReallocation_ = nullptr, PFN_vkFreeFunction pfnFree_ = nullptr, PFN_vkInternalAllocationNotification pfnInternalAllocation_ = nullptr, PFN_vkInternalFreeNotification pfnInternalFree_ = nullptr )
5226  : pUserData( pUserData_ )
5227  , pfnAllocation( pfnAllocation_ )
5228  , pfnReallocation( pfnReallocation_ )
5229  , pfnFree( pfnFree_ )
5230  , pfnInternalAllocation( pfnInternalAllocation_ )
5231  , pfnInternalFree( pfnInternalFree_ )
5232  {
5233  }
5234 
5236  {
5237  memcpy( this, &rhs, sizeof( AllocationCallbacks ) );
5238  }
5239 
5241  {
5242  memcpy( this, &rhs, sizeof( AllocationCallbacks ) );
5243  return *this;
5244  }
5245  AllocationCallbacks& setPUserData( void* pUserData_ )
5246  {
5247  pUserData = pUserData_;
5248  return *this;
5249  }
5250 
5252  {
5253  pfnAllocation = pfnAllocation_;
5254  return *this;
5255  }
5256 
5258  {
5259  pfnReallocation = pfnReallocation_;
5260  return *this;
5261  }
5262 
5264  {
5265  pfnFree = pfnFree_;
5266  return *this;
5267  }
5268 
5270  {
5271  pfnInternalAllocation = pfnInternalAllocation_;
5272  return *this;
5273  }
5274 
5276  {
5277  pfnInternalFree = pfnInternalFree_;
5278  return *this;
5279  }
5280 
5281  operator const VkAllocationCallbacks&() const
5282  {
5283  return *reinterpret_cast<const VkAllocationCallbacks*>(this);
5284  }
5285 
5286  bool operator==( AllocationCallbacks const& rhs ) const
5287  {
5288  return ( pUserData == rhs.pUserData )
5289  && ( pfnAllocation == rhs.pfnAllocation )
5290  && ( pfnReallocation == rhs.pfnReallocation )
5291  && ( pfnFree == rhs.pfnFree )
5293  && ( pfnInternalFree == rhs.pfnInternalFree );
5294  }
5295 
5296  bool operator!=( AllocationCallbacks const& rhs ) const
5297  {
5298  return !operator==( rhs );
5299  }
5300 
5301  void* pUserData;
5307  };
5308  static_assert( sizeof( AllocationCallbacks ) == sizeof( VkAllocationCallbacks ), "struct and wrapper have different size!" );
5309 
5311  {
5312  operator const VkMemoryRequirements&() const
5313  {
5314  return *reinterpret_cast<const VkMemoryRequirements*>(this);
5315  }
5316 
5317  bool operator==( MemoryRequirements const& rhs ) const
5318  {
5319  return ( size == rhs.size )
5320  && ( alignment == rhs.alignment )
5321  && ( memoryTypeBits == rhs.memoryTypeBits );
5322  }
5323 
5324  bool operator!=( MemoryRequirements const& rhs ) const
5325  {
5326  return !operator==( rhs );
5327  }
5328 
5332  };
5333  static_assert( sizeof( MemoryRequirements ) == sizeof( VkMemoryRequirements ), "struct and wrapper have different size!" );
5334 
5336  {
5337  DescriptorBufferInfo( Buffer buffer_ = Buffer(), DeviceSize offset_ = 0, DeviceSize range_ = 0 )
5338  : buffer( buffer_ )
5339  , offset( offset_ )
5340  , range( range_ )
5341  {
5342  }
5343 
5345  {
5346  memcpy( this, &rhs, sizeof( DescriptorBufferInfo ) );
5347  }
5348 
5350  {
5351  memcpy( this, &rhs, sizeof( DescriptorBufferInfo ) );
5352  return *this;
5353  }
5355  {
5356  buffer = buffer_;
5357  return *this;
5358  }
5359 
5361  {
5362  offset = offset_;
5363  return *this;
5364  }
5365 
5367  {
5368  range = range_;
5369  return *this;
5370  }
5371 
5372  operator const VkDescriptorBufferInfo&() const
5373  {
5374  return *reinterpret_cast<const VkDescriptorBufferInfo*>(this);
5375  }
5376 
5377  bool operator==( DescriptorBufferInfo const& rhs ) const
5378  {
5379  return ( buffer == rhs.buffer )
5380  && ( offset == rhs.offset )
5381  && ( range == rhs.range );
5382  }
5383 
5384  bool operator!=( DescriptorBufferInfo const& rhs ) const
5385  {
5386  return !operator==( rhs );
5387  }
5388 
5392  };
5393  static_assert( sizeof( DescriptorBufferInfo ) == sizeof( VkDescriptorBufferInfo ), "struct and wrapper have different size!" );
5394 
5396  {
5397  operator const VkSubresourceLayout&() const
5398  {
5399  return *reinterpret_cast<const VkSubresourceLayout*>(this);
5400  }
5401 
5402  bool operator==( SubresourceLayout const& rhs ) const
5403  {
5404  return ( offset == rhs.offset )
5405  && ( size == rhs.size )
5406  && ( rowPitch == rhs.rowPitch )
5407  && ( arrayPitch == rhs.arrayPitch )
5408  && ( depthPitch == rhs.depthPitch );
5409  }
5410 
5411  bool operator!=( SubresourceLayout const& rhs ) const
5412  {
5413  return !operator==( rhs );
5414  }
5415 
5421  };
5422  static_assert( sizeof( SubresourceLayout ) == sizeof( VkSubresourceLayout ), "struct and wrapper have different size!" );
5423 
5424  struct BufferCopy
5425  {
5426  BufferCopy( DeviceSize srcOffset_ = 0, DeviceSize dstOffset_ = 0, DeviceSize size_ = 0 )
5427  : srcOffset( srcOffset_ )
5428  , dstOffset( dstOffset_ )
5429  , size( size_ )
5430  {
5431  }
5432 
5433  BufferCopy( VkBufferCopy const & rhs )
5434  {
5435  memcpy( this, &rhs, sizeof( BufferCopy ) );
5436  }
5437 
5439  {
5440  memcpy( this, &rhs, sizeof( BufferCopy ) );
5441  return *this;
5442  }
5444  {
5445  srcOffset = srcOffset_;
5446  return *this;
5447  }
5448 
5450  {
5451  dstOffset = dstOffset_;
5452  return *this;
5453  }
5454 
5456  {
5457  size = size_;
5458  return *this;
5459  }
5460 
5461  operator const VkBufferCopy&() const
5462  {
5463  return *reinterpret_cast<const VkBufferCopy*>(this);
5464  }
5465 
5466  bool operator==( BufferCopy const& rhs ) const
5467  {
5468  return ( srcOffset == rhs.srcOffset )
5469  && ( dstOffset == rhs.dstOffset )
5470  && ( size == rhs.size );
5471  }
5472 
5473  bool operator!=( BufferCopy const& rhs ) const
5474  {
5475  return !operator==( rhs );
5476  }
5477 
5481  };
5482  static_assert( sizeof( BufferCopy ) == sizeof( VkBufferCopy ), "struct and wrapper have different size!" );
5483 
5485  {
5486  SpecializationMapEntry( uint32_t constantID_ = 0, uint32_t offset_ = 0, size_t size_ = 0 )
5487  : constantID( constantID_ )
5488  , offset( offset_ )
5489  , size( size_ )
5490  {
5491  }
5492 
5494  {
5495  memcpy( this, &rhs, sizeof( SpecializationMapEntry ) );
5496  }
5497 
5499  {
5500  memcpy( this, &rhs, sizeof( SpecializationMapEntry ) );
5501  return *this;
5502  }
5504  {
5505  constantID = constantID_;
5506  return *this;
5507  }
5508 
5510  {
5511  offset = offset_;
5512  return *this;
5513  }
5514 
5516  {
5517  size = size_;
5518  return *this;
5519  }
5520 
5521  operator const VkSpecializationMapEntry&() const
5522  {
5523  return *reinterpret_cast<const VkSpecializationMapEntry*>(this);
5524  }
5525 
5526  bool operator==( SpecializationMapEntry const& rhs ) const
5527  {
5528  return ( constantID == rhs.constantID )
5529  && ( offset == rhs.offset )
5530  && ( size == rhs.size );
5531  }
5532 
5533  bool operator!=( SpecializationMapEntry const& rhs ) const
5534  {
5535  return !operator==( rhs );
5536  }
5537 
5540  size_t size;
5541  };
5542  static_assert( sizeof( SpecializationMapEntry ) == sizeof( VkSpecializationMapEntry ), "struct and wrapper have different size!" );
5543 
5545  {
5546  SpecializationInfo( uint32_t mapEntryCount_ = 0, const SpecializationMapEntry* pMapEntries_ = nullptr, size_t dataSize_ = 0, const void* pData_ = nullptr )
5547  : mapEntryCount( mapEntryCount_ )
5548  , pMapEntries( pMapEntries_ )
5549  , dataSize( dataSize_ )
5550  , pData( pData_ )
5551  {
5552  }
5553 
5555  {
5556  memcpy( this, &rhs, sizeof( SpecializationInfo ) );
5557  }
5558 
5560  {
5561  memcpy( this, &rhs, sizeof( SpecializationInfo ) );
5562  return *this;
5563  }
5565  {
5566  mapEntryCount = mapEntryCount_;
5567  return *this;
5568  }
5569 
5571  {
5572  pMapEntries = pMapEntries_;
5573  return *this;
5574  }
5575 
5576  SpecializationInfo& setDataSize( size_t dataSize_ )
5577  {
5578  dataSize = dataSize_;
5579  return *this;
5580  }
5581 
5582  SpecializationInfo& setPData( const void* pData_ )
5583  {
5584  pData = pData_;
5585  return *this;
5586  }
5587 
5588  operator const VkSpecializationInfo&() const
5589  {
5590  return *reinterpret_cast<const VkSpecializationInfo*>(this);
5591  }
5592 
5593  bool operator==( SpecializationInfo const& rhs ) const
5594  {
5595  return ( mapEntryCount == rhs.mapEntryCount )
5596  && ( pMapEntries == rhs.pMapEntries )
5597  && ( dataSize == rhs.dataSize )
5598  && ( pData == rhs.pData );
5599  }
5600 
5601  bool operator!=( SpecializationInfo const& rhs ) const
5602  {
5603  return !operator==( rhs );
5604  }
5605 
5608  size_t dataSize;
5609  const void* pData;
5610  };
5611  static_assert( sizeof( SpecializationInfo ) == sizeof( VkSpecializationInfo ), "struct and wrapper have different size!" );
5612 
5614  {
5615  ClearColorValue( const std::array<float,4>& float32_ = { {0} } )
5616  {
5617  memcpy( &float32, float32_.data(), 4 * sizeof( float ) );
5618  }
5619 
5620  ClearColorValue( const std::array<int32_t,4>& int32_ )
5621  {
5622  memcpy( &int32, int32_.data(), 4 * sizeof( int32_t ) );
5623  }
5624 
5625  ClearColorValue( const std::array<uint32_t,4>& uint32_ )
5626  {
5627  memcpy( &uint32, uint32_.data(), 4 * sizeof( uint32_t ) );
5628  }
5629 
5630  ClearColorValue& setFloat32( std::array<float,4> float32_ )
5631  {
5632  memcpy( &float32, float32_.data(), 4 * sizeof( float ) );
5633  return *this;
5634  }
5635 
5636  ClearColorValue& setInt32( std::array<int32_t,4> int32_ )
5637  {
5638  memcpy( &int32, int32_.data(), 4 * sizeof( int32_t ) );
5639  return *this;
5640  }
5641 
5642  ClearColorValue& setUint32( std::array<uint32_t,4> uint32_ )
5643  {
5644  memcpy( &uint32, uint32_.data(), 4 * sizeof( uint32_t ) );
5645  return *this;
5646  }
5647 
5648  operator VkClearColorValue const& () const
5649  {
5650  return *reinterpret_cast<const VkClearColorValue*>(this);
5651  }
5652 
5653  float float32[4];
5656  };
5657 
5659  {
5660  ClearDepthStencilValue( float depth_ = 0, uint32_t stencil_ = 0 )
5661  : depth( depth_ )
5662  , stencil( stencil_ )
5663  {
5664  }
5665 
5667  {
5668  memcpy( this, &rhs, sizeof( ClearDepthStencilValue ) );
5669  }
5670 
5672  {
5673  memcpy( this, &rhs, sizeof( ClearDepthStencilValue ) );
5674  return *this;
5675  }
5677  {
5678  depth = depth_;
5679  return *this;
5680  }
5681 
5683  {
5684  stencil = stencil_;
5685  return *this;
5686  }
5687 
5688  operator const VkClearDepthStencilValue&() const
5689  {
5690  return *reinterpret_cast<const VkClearDepthStencilValue*>(this);
5691  }
5692 
5693  bool operator==( ClearDepthStencilValue const& rhs ) const
5694  {
5695  return ( depth == rhs.depth )
5696  && ( stencil == rhs.stencil );
5697  }
5698 
5699  bool operator!=( ClearDepthStencilValue const& rhs ) const
5700  {
5701  return !operator==( rhs );
5702  }
5703 
5704  float depth;
5706  };
5707  static_assert( sizeof( ClearDepthStencilValue ) == sizeof( VkClearDepthStencilValue ), "struct and wrapper have different size!" );
5708 
5710  {
5712  {
5713  color = color_;
5714  }
5715 
5717  {
5718  depthStencil = depthStencil_;
5719  }
5720 
5722  {
5723  color = color_;
5724  return *this;
5725  }
5726 
5728  {
5729  depthStencil = depthStencil_;
5730  return *this;
5731  }
5732 
5733  operator VkClearValue const& () const
5734  {
5735  return *reinterpret_cast<const VkClearValue*>(this);
5736  }
5737 
5738 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
5741 #else
5744 #endif // VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
5745  };
5746 
5748  {
5749  PhysicalDeviceFeatures( Bool32 robustBufferAccess_ = 0, Bool32 fullDrawIndexUint32_ = 0, Bool32 imageCubeArray_ = 0, Bool32 independentBlend_ = 0, Bool32 geometryShader_ = 0, Bool32 tessellationShader_ = 0, Bool32 sampleRateShading_ = 0, Bool32 dualSrcBlend_ = 0, Bool32 logicOp_ = 0, Bool32 multiDrawIndirect_ = 0, Bool32 drawIndirectFirstInstance_ = 0, Bool32 depthClamp_ = 0, Bool32 depthBiasClamp_ = 0, Bool32 fillModeNonSolid_ = 0, Bool32 depthBounds_ = 0, Bool32 wideLines_ = 0, Bool32 largePoints_ = 0, Bool32 alphaToOne_ = 0, Bool32 multiViewport_ = 0, Bool32 samplerAnisotropy_ = 0, Bool32 textureCompressionETC2_ = 0, Bool32 textureCompressionASTC_LDR_ = 0, Bool32 textureCompressionBC_ = 0, Bool32 occlusionQueryPrecise_ = 0, Bool32 pipelineStatisticsQuery_ = 0, Bool32 vertexPipelineStoresAndAtomics_ = 0, Bool32 fragmentStoresAndAtomics_ = 0, Bool32 shaderTessellationAndGeometryPointSize_ = 0, Bool32 shaderImageGatherExtended_ = 0, Bool32 shaderStorageImageExtendedFormats_ = 0, Bool32 shaderStorageImageMultisample_ = 0, Bool32 shaderStorageImageReadWithoutFormat_ = 0, Bool32 shaderStorageImageWriteWithoutFormat_ = 0, Bool32 shaderUniformBufferArrayDynamicIndexing_ = 0, Bool32 shaderSampledImageArrayDynamicIndexing_ = 0, Bool32 shaderStorageBufferArrayDynamicIndexing_ = 0, Bool32 shaderStorageImageArrayDynamicIndexing_ = 0, Bool32 shaderClipDistance_ = 0, Bool32 shaderCullDistance_ = 0, Bool32 shaderFloat64_ = 0, Bool32 shaderInt64_ = 0, Bool32 shaderInt16_ = 0, Bool32 shaderResourceResidency_ = 0, Bool32 shaderResourceMinLod_ = 0, Bool32 sparseBinding_ = 0, Bool32 sparseResidencyBuffer_ = 0, Bool32 sparseResidencyImage2D_ = 0, Bool32 sparseResidencyImage3D_ = 0, Bool32 sparseResidency2Samples_ = 0, Bool32 sparseResidency4Samples_ = 0, Bool32 sparseResidency8Samples_ = 0, Bool32 sparseResidency16Samples_ = 0, Bool32 sparseResidencyAliased_ = 0, Bool32 variableMultisampleRate_ = 0, Bool32 inheritedQueries_ = 0 )
5750  : robustBufferAccess( robustBufferAccess_ )
5751  , fullDrawIndexUint32( fullDrawIndexUint32_ )
5752  , imageCubeArray( imageCubeArray_ )
5753  , independentBlend( independentBlend_ )
5754  , geometryShader( geometryShader_ )
5755  , tessellationShader( tessellationShader_ )
5756  , sampleRateShading( sampleRateShading_ )
5757  , dualSrcBlend( dualSrcBlend_ )
5758  , logicOp( logicOp_ )
5759  , multiDrawIndirect( multiDrawIndirect_ )
5760  , drawIndirectFirstInstance( drawIndirectFirstInstance_ )
5761  , depthClamp( depthClamp_ )
5762  , depthBiasClamp( depthBiasClamp_ )
5763  , fillModeNonSolid( fillModeNonSolid_ )
5764  , depthBounds( depthBounds_ )
5765  , wideLines( wideLines_ )
5766  , largePoints( largePoints_ )
5767  , alphaToOne( alphaToOne_ )
5768  , multiViewport( multiViewport_ )
5769  , samplerAnisotropy( samplerAnisotropy_ )
5770  , textureCompressionETC2( textureCompressionETC2_ )
5771  , textureCompressionASTC_LDR( textureCompressionASTC_LDR_ )
5772  , textureCompressionBC( textureCompressionBC_ )
5773  , occlusionQueryPrecise( occlusionQueryPrecise_ )
5774  , pipelineStatisticsQuery( pipelineStatisticsQuery_ )
5775  , vertexPipelineStoresAndAtomics( vertexPipelineStoresAndAtomics_ )
5776  , fragmentStoresAndAtomics( fragmentStoresAndAtomics_ )
5777  , shaderTessellationAndGeometryPointSize( shaderTessellationAndGeometryPointSize_ )
5778  , shaderImageGatherExtended( shaderImageGatherExtended_ )
5779  , shaderStorageImageExtendedFormats( shaderStorageImageExtendedFormats_ )
5780  , shaderStorageImageMultisample( shaderStorageImageMultisample_ )
5781  , shaderStorageImageReadWithoutFormat( shaderStorageImageReadWithoutFormat_ )
5782  , shaderStorageImageWriteWithoutFormat( shaderStorageImageWriteWithoutFormat_ )
5783  , shaderUniformBufferArrayDynamicIndexing( shaderUniformBufferArrayDynamicIndexing_ )
5784  , shaderSampledImageArrayDynamicIndexing( shaderSampledImageArrayDynamicIndexing_ )
5785  , shaderStorageBufferArrayDynamicIndexing( shaderStorageBufferArrayDynamicIndexing_ )
5786  , shaderStorageImageArrayDynamicIndexing( shaderStorageImageArrayDynamicIndexing_ )
5787  , shaderClipDistance( shaderClipDistance_ )
5788  , shaderCullDistance( shaderCullDistance_ )
5789  , shaderFloat64( shaderFloat64_ )
5790  , shaderInt64( shaderInt64_ )
5791  , shaderInt16( shaderInt16_ )
5792  , shaderResourceResidency( shaderResourceResidency_ )
5793  , shaderResourceMinLod( shaderResourceMinLod_ )
5794  , sparseBinding( sparseBinding_ )
5795  , sparseResidencyBuffer( sparseResidencyBuffer_ )
5796  , sparseResidencyImage2D( sparseResidencyImage2D_ )
5797  , sparseResidencyImage3D( sparseResidencyImage3D_ )
5798  , sparseResidency2Samples( sparseResidency2Samples_ )
5799  , sparseResidency4Samples( sparseResidency4Samples_ )
5800  , sparseResidency8Samples( sparseResidency8Samples_ )
5801  , sparseResidency16Samples( sparseResidency16Samples_ )
5802  , sparseResidencyAliased( sparseResidencyAliased_ )
5803  , variableMultisampleRate( variableMultisampleRate_ )
5804  , inheritedQueries( inheritedQueries_ )
5805  {
5806  }
5807 
5809  {
5810  memcpy( this, &rhs, sizeof( PhysicalDeviceFeatures ) );
5811  }
5812 
5814  {
5815  memcpy( this, &rhs, sizeof( PhysicalDeviceFeatures ) );
5816  return *this;
5817  }
5819  {
5820  robustBufferAccess = robustBufferAccess_;
5821  return *this;
5822  }
5823 
5825  {
5826  fullDrawIndexUint32 = fullDrawIndexUint32_;
5827  return *this;
5828  }
5829 
5831  {
5832  imageCubeArray = imageCubeArray_;
5833  return *this;
5834  }
5835 
5837  {
5838  independentBlend = independentBlend_;
5839  return *this;
5840  }
5841 
5843  {
5844  geometryShader = geometryShader_;
5845  return *this;
5846  }
5847 
5849  {
5850  tessellationShader = tessellationShader_;
5851  return *this;
5852  }
5853 
5855  {
5856  sampleRateShading = sampleRateShading_;
5857  return *this;
5858  }
5859 
5861  {
5862  dualSrcBlend = dualSrcBlend_;
5863  return *this;
5864  }
5865 
5867  {
5868  logicOp = logicOp_;
5869  return *this;
5870  }
5871 
5873  {
5874  multiDrawIndirect = multiDrawIndirect_;
5875  return *this;
5876  }
5877 
5879  {
5880  drawIndirectFirstInstance = drawIndirectFirstInstance_;
5881  return *this;
5882  }
5883 
5885  {
5886  depthClamp = depthClamp_;
5887  return *this;
5888  }
5889 
5891  {
5892  depthBiasClamp = depthBiasClamp_;
5893  return *this;
5894  }
5895 
5897  {
5898  fillModeNonSolid = fillModeNonSolid_;
5899  return *this;
5900  }
5901 
5903  {
5904  depthBounds = depthBounds_;
5905  return *this;
5906  }
5907 
5909  {
5910  wideLines = wideLines_;
5911  return *this;
5912  }
5913 
5915  {
5916  largePoints = largePoints_;
5917  return *this;
5918  }
5919 
5921  {
5922  alphaToOne = alphaToOne_;
5923  return *this;
5924  }
5925 
5927  {
5928  multiViewport = multiViewport_;
5929  return *this;
5930  }
5931 
5933  {
5934  samplerAnisotropy = samplerAnisotropy_;
5935  return *this;
5936  }
5937 
5939  {
5940  textureCompressionETC2 = textureCompressionETC2_;
5941  return *this;
5942  }
5943 
5945  {
5946  textureCompressionASTC_LDR = textureCompressionASTC_LDR_;
5947  return *this;
5948  }
5949 
5951  {
5952  textureCompressionBC = textureCompressionBC_;
5953  return *this;
5954  }
5955 
5957  {
5958  occlusionQueryPrecise = occlusionQueryPrecise_;
5959  return *this;
5960  }
5961 
5963  {
5964  pipelineStatisticsQuery = pipelineStatisticsQuery_;
5965  return *this;
5966  }
5967 
5969  {
5970  vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics_;
5971  return *this;
5972  }
5973 
5975  {
5976  fragmentStoresAndAtomics = fragmentStoresAndAtomics_;
5977  return *this;
5978  }
5979 
5981  {
5982  shaderTessellationAndGeometryPointSize = shaderTessellationAndGeometryPointSize_;
5983  return *this;
5984  }
5985 
5987  {
5988  shaderImageGatherExtended = shaderImageGatherExtended_;
5989  return *this;
5990  }
5991 
5993  {
5994  shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats_;
5995  return *this;
5996  }
5997 
5999  {
6000  shaderStorageImageMultisample = shaderStorageImageMultisample_;
6001  return *this;
6002  }
6003 
6005  {
6006  shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat_;
6007  return *this;
6008  }
6009 
6011  {
6012  shaderStorageImageWriteWithoutFormat = shaderStorageImageWriteWithoutFormat_;
6013  return *this;
6014  }
6015 
6016  PhysicalDeviceFeatures& setShaderUniformBufferArrayDynamicIndexing( Bool32 shaderUniformBufferArrayDynamicIndexing_ )
6017  {
6018  shaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing_;
6019  return *this;
6020  }
6021 
6023  {
6024  shaderSampledImageArrayDynamicIndexing = shaderSampledImageArrayDynamicIndexing_;
6025  return *this;
6026  }
6027 
6028  PhysicalDeviceFeatures& setShaderStorageBufferArrayDynamicIndexing( Bool32 shaderStorageBufferArrayDynamicIndexing_ )
6029  {
6030  shaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing_;
6031  return *this;
6032  }
6033 
6035  {
6036  shaderStorageImageArrayDynamicIndexing = shaderStorageImageArrayDynamicIndexing_;
6037  return *this;
6038  }
6039 
6041  {
6042  shaderClipDistance = shaderClipDistance_;
6043  return *this;
6044  }
6045 
6047  {
6048  shaderCullDistance = shaderCullDistance_;
6049  return *this;
6050  }
6051 
6053  {
6054  shaderFloat64 = shaderFloat64_;
6055  return *this;
6056  }
6057 
6059  {
6060  shaderInt64 = shaderInt64_;
6061  return *this;
6062  }
6063 
6065  {
6066  shaderInt16 = shaderInt16_;
6067  return *this;
6068  }
6069 
6071  {
6072  shaderResourceResidency = shaderResourceResidency_;
6073  return *this;
6074  }
6075 
6077  {
6078  shaderResourceMinLod = shaderResourceMinLod_;
6079  return *this;
6080  }
6081 
6083  {
6084  sparseBinding = sparseBinding_;
6085  return *this;
6086  }
6087 
6089  {
6090  sparseResidencyBuffer = sparseResidencyBuffer_;
6091  return *this;
6092  }
6093 
6095  {
6096  sparseResidencyImage2D = sparseResidencyImage2D_;
6097  return *this;
6098  }
6099 
6101  {
6102  sparseResidencyImage3D = sparseResidencyImage3D_;
6103  return *this;
6104  }
6105 
6107  {
6108  sparseResidency2Samples = sparseResidency2Samples_;
6109  return *this;
6110  }
6111 
6113  {
6114  sparseResidency4Samples = sparseResidency4Samples_;
6115  return *this;
6116  }
6117 
6119  {
6120  sparseResidency8Samples = sparseResidency8Samples_;
6121  return *this;
6122  }
6123 
6125  {
6126  sparseResidency16Samples = sparseResidency16Samples_;
6127  return *this;
6128  }
6129 
6131  {
6132  sparseResidencyAliased = sparseResidencyAliased_;
6133  return *this;
6134  }
6135 
6137  {
6138  variableMultisampleRate = variableMultisampleRate_;
6139  return *this;
6140  }
6141 
6143  {
6144  inheritedQueries = inheritedQueries_;
6145  return *this;
6146  }
6147 
6148  operator const VkPhysicalDeviceFeatures&() const
6149  {
6150  return *reinterpret_cast<const VkPhysicalDeviceFeatures*>(this);
6151  }
6152 
6153  bool operator==( PhysicalDeviceFeatures const& rhs ) const
6154  {
6155  return ( robustBufferAccess == rhs.robustBufferAccess )
6157  && ( imageCubeArray == rhs.imageCubeArray )
6158  && ( independentBlend == rhs.independentBlend )
6159  && ( geometryShader == rhs.geometryShader )
6161  && ( sampleRateShading == rhs.sampleRateShading )
6162  && ( dualSrcBlend == rhs.dualSrcBlend )
6163  && ( logicOp == rhs.logicOp )
6164  && ( multiDrawIndirect == rhs.multiDrawIndirect )
6166  && ( depthClamp == rhs.depthClamp )
6167  && ( depthBiasClamp == rhs.depthBiasClamp )
6168  && ( fillModeNonSolid == rhs.fillModeNonSolid )
6169  && ( depthBounds == rhs.depthBounds )
6170  && ( wideLines == rhs.wideLines )
6171  && ( largePoints == rhs.largePoints )
6172  && ( alphaToOne == rhs.alphaToOne )
6173  && ( multiViewport == rhs.multiViewport )
6174  && ( samplerAnisotropy == rhs.samplerAnisotropy )
6194  && ( shaderFloat64 == rhs.shaderFloat64 )
6195  && ( shaderInt64 == rhs.shaderInt64 )
6196  && ( shaderInt16 == rhs.shaderInt16 )
6199  && ( sparseBinding == rhs.sparseBinding )
6209  && ( inheritedQueries == rhs.inheritedQueries );
6210  }
6211 
6212  bool operator!=( PhysicalDeviceFeatures const& rhs ) const
6213  {
6214  return !operator==( rhs );
6215  }
6216 
6272  };
6273  static_assert( sizeof( PhysicalDeviceFeatures ) == sizeof( VkPhysicalDeviceFeatures ), "struct and wrapper have different size!" );
6274 
6276  {
6277  operator const VkPhysicalDeviceSparseProperties&() const
6278  {
6279  return *reinterpret_cast<const VkPhysicalDeviceSparseProperties*>(this);
6280  }
6281 
6283  {
6289  }
6290 
6292  {
6293  return !operator==( rhs );
6294  }
6295 
6301  };
6302  static_assert( sizeof( PhysicalDeviceSparseProperties ) == sizeof( VkPhysicalDeviceSparseProperties ), "struct and wrapper have different size!" );
6303 
6305  {
6306  DrawIndirectCommand( uint32_t vertexCount_ = 0, uint32_t instanceCount_ = 0, uint32_t firstVertex_ = 0, uint32_t firstInstance_ = 0 )
6307  : vertexCount( vertexCount_ )
6308  , instanceCount( instanceCount_ )
6309  , firstVertex( firstVertex_ )
6310  , firstInstance( firstInstance_ )
6311  {
6312  }
6313 
6315  {
6316  memcpy( this, &rhs, sizeof( DrawIndirectCommand ) );
6317  }
6318 
6320  {
6321  memcpy( this, &rhs, sizeof( DrawIndirectCommand ) );
6322  return *this;
6323  }
6325  {
6326  vertexCount = vertexCount_;
6327  return *this;
6328  }
6329 
6331  {
6332  instanceCount = instanceCount_;
6333  return *this;
6334  }
6335 
6337  {
6338  firstVertex = firstVertex_;
6339  return *this;
6340  }
6341 
6343  {
6344  firstInstance = firstInstance_;
6345  return *this;
6346  }
6347 
6348  operator const VkDrawIndirectCommand&() const
6349  {
6350  return *reinterpret_cast<const VkDrawIndirectCommand*>(this);
6351  }
6352 
6353  bool operator==( DrawIndirectCommand const& rhs ) const
6354  {
6355  return ( vertexCount == rhs.vertexCount )
6356  && ( instanceCount == rhs.instanceCount )
6357  && ( firstVertex == rhs.firstVertex )
6358  && ( firstInstance == rhs.firstInstance );
6359  }
6360 
6361  bool operator!=( DrawIndirectCommand const& rhs ) const
6362  {
6363  return !operator==( rhs );
6364  }
6365 
6370  };
6371  static_assert( sizeof( DrawIndirectCommand ) == sizeof( VkDrawIndirectCommand ), "struct and wrapper have different size!" );
6372 
6374  {
6375  DrawIndexedIndirectCommand( uint32_t indexCount_ = 0, uint32_t instanceCount_ = 0, uint32_t firstIndex_ = 0, int32_t vertexOffset_ = 0, uint32_t firstInstance_ = 0 )
6376  : indexCount( indexCount_ )
6377  , instanceCount( instanceCount_ )
6378  , firstIndex( firstIndex_ )
6379  , vertexOffset( vertexOffset_ )
6380  , firstInstance( firstInstance_ )
6381  {
6382  }
6383 
6385  {
6386  memcpy( this, &rhs, sizeof( DrawIndexedIndirectCommand ) );
6387  }
6388 
6390  {
6391  memcpy( this, &rhs, sizeof( DrawIndexedIndirectCommand ) );
6392  return *this;
6393  }
6395  {
6396  indexCount = indexCount_;
6397  return *this;
6398  }
6399 
6401  {
6402  instanceCount = instanceCount_;
6403  return *this;
6404  }
6405 
6407  {
6408  firstIndex = firstIndex_;
6409  return *this;
6410  }
6411 
6413  {
6414  vertexOffset = vertexOffset_;
6415  return *this;
6416  }
6417 
6419  {
6420  firstInstance = firstInstance_;
6421  return *this;
6422  }
6423 
6424  operator const VkDrawIndexedIndirectCommand&() const
6425  {
6426  return *reinterpret_cast<const VkDrawIndexedIndirectCommand*>(this);
6427  }
6428 
6429  bool operator==( DrawIndexedIndirectCommand const& rhs ) const
6430  {
6431  return ( indexCount == rhs.indexCount )
6432  && ( instanceCount == rhs.instanceCount )
6433  && ( firstIndex == rhs.firstIndex )
6434  && ( vertexOffset == rhs.vertexOffset )
6435  && ( firstInstance == rhs.firstInstance );
6436  }
6437 
6438  bool operator!=( DrawIndexedIndirectCommand const& rhs ) const
6439  {
6440  return !operator==( rhs );
6441  }
6442 
6448  };
6449  static_assert( sizeof( DrawIndexedIndirectCommand ) == sizeof( VkDrawIndexedIndirectCommand ), "struct and wrapper have different size!" );
6450 
6452  {
6454  : x( x_ )
6455  , y( y_ )
6456  , z( z_ )
6457  {
6458  }
6459 
6461  {
6462  memcpy( this, &rhs, sizeof( DispatchIndirectCommand ) );
6463  }
6464 
6466  {
6467  memcpy( this, &rhs, sizeof( DispatchIndirectCommand ) );
6468  return *this;
6469  }
6471  {
6472  x = x_;
6473  return *this;
6474  }
6475 
6477  {
6478  y = y_;
6479  return *this;
6480  }
6481 
6483  {
6484  z = z_;
6485  return *this;
6486  }
6487 
6488  operator const VkDispatchIndirectCommand&() const
6489  {
6490  return *reinterpret_cast<const VkDispatchIndirectCommand*>(this);
6491  }
6492 
6493  bool operator==( DispatchIndirectCommand const& rhs ) const
6494  {
6495  return ( x == rhs.x )
6496  && ( y == rhs.y )
6497  && ( z == rhs.z );
6498  }
6499 
6500  bool operator!=( DispatchIndirectCommand const& rhs ) const
6501  {
6502  return !operator==( rhs );
6503  }
6504 
6508  };
6509  static_assert( sizeof( DispatchIndirectCommand ) == sizeof( VkDispatchIndirectCommand ), "struct and wrapper have different size!" );
6510 
6512  {
6513  operator const VkDisplayPlanePropertiesKHR&() const
6514  {
6515  return *reinterpret_cast<const VkDisplayPlanePropertiesKHR*>(this);
6516  }
6517 
6518  bool operator==( DisplayPlanePropertiesKHR const& rhs ) const
6519  {
6520  return ( currentDisplay == rhs.currentDisplay )
6521  && ( currentStackIndex == rhs.currentStackIndex );
6522  }
6523 
6524  bool operator!=( DisplayPlanePropertiesKHR const& rhs ) const
6525  {
6526  return !operator==( rhs );
6527  }
6528 
6531  };
6532  static_assert( sizeof( DisplayPlanePropertiesKHR ) == sizeof( VkDisplayPlanePropertiesKHR ), "struct and wrapper have different size!" );
6533 
6535  {
6536  DisplayModeParametersKHR( Extent2D visibleRegion_ = Extent2D(), uint32_t refreshRate_ = 0 )
6537  : visibleRegion( visibleRegion_ )
6538  , refreshRate( refreshRate_ )
6539  {
6540  }
6541 
6543  {
6544  memcpy( this, &rhs, sizeof( DisplayModeParametersKHR ) );
6545  }
6546 
6548  {
6549  memcpy( this, &rhs, sizeof( DisplayModeParametersKHR ) );
6550  return *this;
6551  }
6553  {
6554  visibleRegion = visibleRegion_;
6555  return *this;
6556  }
6557 
6559  {
6560  refreshRate = refreshRate_;
6561  return *this;
6562  }
6563 
6564  operator const VkDisplayModeParametersKHR&() const
6565  {
6566  return *reinterpret_cast<const VkDisplayModeParametersKHR*>(this);
6567  }
6568 
6569  bool operator==( DisplayModeParametersKHR const& rhs ) const
6570  {
6571  return ( visibleRegion == rhs.visibleRegion )
6572  && ( refreshRate == rhs.refreshRate );
6573  }
6574 
6575  bool operator!=( DisplayModeParametersKHR const& rhs ) const
6576  {
6577  return !operator==( rhs );
6578  }
6579 
6582  };
6583  static_assert( sizeof( DisplayModeParametersKHR ) == sizeof( VkDisplayModeParametersKHR ), "struct and wrapper have different size!" );
6584 
6586  {
6587  operator const VkDisplayModePropertiesKHR&() const
6588  {
6589  return *reinterpret_cast<const VkDisplayModePropertiesKHR*>(this);
6590  }
6591 
6592  bool operator==( DisplayModePropertiesKHR const& rhs ) const
6593  {
6594  return ( displayMode == rhs.displayMode )
6595  && ( parameters == rhs.parameters );
6596  }
6597 
6598  bool operator!=( DisplayModePropertiesKHR const& rhs ) const
6599  {
6600  return !operator==( rhs );
6601  }
6602 
6605  };
6606  static_assert( sizeof( DisplayModePropertiesKHR ) == sizeof( VkDisplayModePropertiesKHR ), "struct and wrapper have different size!" );
6607 
6609  {
6610  RectLayerKHR( Offset2D offset_ = Offset2D(), Extent2D extent_ = Extent2D(), uint32_t layer_ = 0 )
6611  : offset( offset_ )
6612  , extent( extent_ )
6613  , layer( layer_ )
6614  {
6615  }
6616 
6618  {
6619  memcpy( this, &rhs, sizeof( RectLayerKHR ) );
6620  }
6621 
6623  {
6624  memcpy( this, &rhs, sizeof( RectLayerKHR ) );
6625  return *this;
6626  }
6628  {
6629  offset = offset_;
6630  return *this;
6631  }
6632 
6634  {
6635  extent = extent_;
6636  return *this;
6637  }
6638 
6640  {
6641  layer = layer_;
6642  return *this;
6643  }
6644 
6645  operator const VkRectLayerKHR&() const
6646  {
6647  return *reinterpret_cast<const VkRectLayerKHR*>(this);
6648  }
6649 
6650  bool operator==( RectLayerKHR const& rhs ) const
6651  {
6652  return ( offset == rhs.offset )
6653  && ( extent == rhs.extent )
6654  && ( layer == rhs.layer );
6655  }
6656 
6657  bool operator!=( RectLayerKHR const& rhs ) const
6658  {
6659  return !operator==( rhs );
6660  }
6661 
6665  };
6666  static_assert( sizeof( RectLayerKHR ) == sizeof( VkRectLayerKHR ), "struct and wrapper have different size!" );
6667 
6669  {
6670  PresentRegionKHR( uint32_t rectangleCount_ = 0, const RectLayerKHR* pRectangles_ = nullptr )
6671  : rectangleCount( rectangleCount_ )
6672  , pRectangles( pRectangles_ )
6673  {
6674  }
6675 
6677  {
6678  memcpy( this, &rhs, sizeof( PresentRegionKHR ) );
6679  }
6680 
6682  {
6683  memcpy( this, &rhs, sizeof( PresentRegionKHR ) );
6684  return *this;
6685  }
6687  {
6688  rectangleCount = rectangleCount_;
6689  return *this;
6690  }
6691 
6693  {
6694  pRectangles = pRectangles_;
6695  return *this;
6696  }
6697 
6698  operator const VkPresentRegionKHR&() const
6699  {
6700  return *reinterpret_cast<const VkPresentRegionKHR*>(this);
6701  }
6702 
6703  bool operator==( PresentRegionKHR const& rhs ) const
6704  {
6705  return ( rectangleCount == rhs.rectangleCount )
6706  && ( pRectangles == rhs.pRectangles );
6707  }
6708 
6709  bool operator!=( PresentRegionKHR const& rhs ) const
6710  {
6711  return !operator==( rhs );
6712  }
6713 
6716  };
6717  static_assert( sizeof( PresentRegionKHR ) == sizeof( VkPresentRegionKHR ), "struct and wrapper have different size!" );
6718 
6719  struct XYColorEXT
6720  {
6721  XYColorEXT( float x_ = 0, float y_ = 0 )
6722  : x( x_ )
6723  , y( y_ )
6724  {
6725  }
6726 
6727  XYColorEXT( VkXYColorEXT const & rhs )
6728  {
6729  memcpy( this, &rhs, sizeof( XYColorEXT ) );
6730  }
6731 
6733  {
6734  memcpy( this, &rhs, sizeof( XYColorEXT ) );
6735  return *this;
6736  }
6737  XYColorEXT& setX( float x_ )
6738  {
6739  x = x_;
6740  return *this;
6741  }
6742 
6743  XYColorEXT& setY( float y_ )
6744  {
6745  y = y_;
6746  return *this;
6747  }
6748 
6749  operator const VkXYColorEXT&() const
6750  {
6751  return *reinterpret_cast<const VkXYColorEXT*>(this);
6752  }
6753 
6754  bool operator==( XYColorEXT const& rhs ) const
6755  {
6756  return ( x == rhs.x )
6757  && ( y == rhs.y );
6758  }
6759 
6760  bool operator!=( XYColorEXT const& rhs ) const
6761  {
6762  return !operator==( rhs );
6763  }
6764 
6765  float x;
6766  float y;
6767  };
6768  static_assert( sizeof( XYColorEXT ) == sizeof( VkXYColorEXT ), "struct and wrapper have different size!" );
6769 
6771  {
6772  RefreshCycleDurationGOOGLE( uint64_t refreshDuration_ = 0 )
6773  : refreshDuration( refreshDuration_ )
6774  {
6775  }
6776 
6778  {
6779  memcpy( this, &rhs, sizeof( RefreshCycleDurationGOOGLE ) );
6780  }
6781 
6783  {
6784  memcpy( this, &rhs, sizeof( RefreshCycleDurationGOOGLE ) );
6785  return *this;
6786  }
6788  {
6789  refreshDuration = refreshDuration_;
6790  return *this;
6791  }
6792 
6793  operator const VkRefreshCycleDurationGOOGLE&() const
6794  {
6795  return *reinterpret_cast<const VkRefreshCycleDurationGOOGLE*>(this);
6796  }
6797 
6798  bool operator==( RefreshCycleDurationGOOGLE const& rhs ) const
6799  {
6800  return ( refreshDuration == rhs.refreshDuration );
6801  }
6802 
6803  bool operator!=( RefreshCycleDurationGOOGLE const& rhs ) const
6804  {
6805  return !operator==( rhs );
6806  }
6807 
6809  };
6810  static_assert( sizeof( RefreshCycleDurationGOOGLE ) == sizeof( VkRefreshCycleDurationGOOGLE ), "struct and wrapper have different size!" );
6811 
6813  {
6814  PastPresentationTimingGOOGLE( uint32_t presentID_ = 0, uint64_t desiredPresentTime_ = 0, uint64_t actualPresentTime_ = 0, uint64_t earliestPresentTime_ = 0, uint64_t presentMargin_ = 0 )
6815  : presentID( presentID_ )
6816  , desiredPresentTime( desiredPresentTime_ )
6817  , actualPresentTime( actualPresentTime_ )
6818  , earliestPresentTime( earliestPresentTime_ )
6819  , presentMargin( presentMargin_ )
6820  {
6821  }
6822 
6824  {
6825  memcpy( this, &rhs, sizeof( PastPresentationTimingGOOGLE ) );
6826  }
6827 
6829  {
6830  memcpy( this, &rhs, sizeof( PastPresentationTimingGOOGLE ) );
6831  return *this;
6832  }
6834  {
6835  presentID = presentID_;
6836  return *this;
6837  }
6838 
6840  {
6841  desiredPresentTime = desiredPresentTime_;
6842  return *this;
6843  }
6844 
6846  {
6847  actualPresentTime = actualPresentTime_;
6848  return *this;
6849  }
6850 
6852  {
6853  earliestPresentTime = earliestPresentTime_;
6854  return *this;
6855  }
6856 
6858  {
6859  presentMargin = presentMargin_;
6860  return *this;
6861  }
6862 
6863  operator const VkPastPresentationTimingGOOGLE&() const
6864  {
6865  return *reinterpret_cast<const VkPastPresentationTimingGOOGLE*>(this);
6866  }
6867 
6868  bool operator==( PastPresentationTimingGOOGLE const& rhs ) const
6869  {
6870  return ( presentID == rhs.presentID )
6872  && ( actualPresentTime == rhs.actualPresentTime )
6874  && ( presentMargin == rhs.presentMargin );
6875  }
6876 
6877  bool operator!=( PastPresentationTimingGOOGLE const& rhs ) const
6878  {
6879  return !operator==( rhs );
6880  }
6881 
6887  };
6888  static_assert( sizeof( PastPresentationTimingGOOGLE ) == sizeof( VkPastPresentationTimingGOOGLE ), "struct and wrapper have different size!" );
6889 
6891  {
6892  PresentTimeGOOGLE( uint32_t presentID_ = 0, uint64_t desiredPresentTime_ = 0 )
6893  : presentID( presentID_ )
6894  , desiredPresentTime( desiredPresentTime_ )
6895  {
6896  }
6897 
6899  {
6900  memcpy( this, &rhs, sizeof( PresentTimeGOOGLE ) );
6901  }
6902 
6904  {
6905  memcpy( this, &rhs, sizeof( PresentTimeGOOGLE ) );
6906  return *this;
6907  }
6909  {
6910  presentID = presentID_;
6911  return *this;
6912  }
6913 
6915  {
6916  desiredPresentTime = desiredPresentTime_;
6917  return *this;
6918  }
6919 
6920  operator const VkPresentTimeGOOGLE&() const
6921  {
6922  return *reinterpret_cast<const VkPresentTimeGOOGLE*>(this);
6923  }
6924 
6925  bool operator==( PresentTimeGOOGLE const& rhs ) const
6926  {
6927  return ( presentID == rhs.presentID )
6928  && ( desiredPresentTime == rhs.desiredPresentTime );
6929  }
6930 
6931  bool operator!=( PresentTimeGOOGLE const& rhs ) const
6932  {
6933  return !operator==( rhs );
6934  }
6935 
6938  };
6939  static_assert( sizeof( PresentTimeGOOGLE ) == sizeof( VkPresentTimeGOOGLE ), "struct and wrapper have different size!" );
6940 
6942  {
6943  ViewportWScalingNV( float xcoeff_ = 0, float ycoeff_ = 0 )
6944  : xcoeff( xcoeff_ )
6945  , ycoeff( ycoeff_ )
6946  {
6947  }
6948 
6950  {
6951  memcpy( this, &rhs, sizeof( ViewportWScalingNV ) );
6952  }
6953 
6955  {
6956  memcpy( this, &rhs, sizeof( ViewportWScalingNV ) );
6957  return *this;
6958  }
6959  ViewportWScalingNV& setXcoeff( float xcoeff_ )
6960  {
6961  xcoeff = xcoeff_;
6962  return *this;
6963  }
6964 
6965  ViewportWScalingNV& setYcoeff( float ycoeff_ )
6966  {
6967  ycoeff = ycoeff_;
6968  return *this;
6969  }
6970 
6971  operator const VkViewportWScalingNV&() const
6972  {
6973  return *reinterpret_cast<const VkViewportWScalingNV*>(this);
6974  }
6975 
6976  bool operator==( ViewportWScalingNV const& rhs ) const
6977  {
6978  return ( xcoeff == rhs.xcoeff )
6979  && ( ycoeff == rhs.ycoeff );
6980  }
6981 
6982  bool operator!=( ViewportWScalingNV const& rhs ) const
6983  {
6984  return !operator==( rhs );
6985  }
6986 
6987  float xcoeff;
6988  float ycoeff;
6989  };
6990  static_assert( sizeof( ViewportWScalingNV ) == sizeof( VkViewportWScalingNV ), "struct and wrapper have different size!" );
6991 
6993  {
6994  SampleLocationEXT( float x_ = 0, float y_ = 0 )
6995  : x( x_ )
6996  , y( y_ )
6997  {
6998  }
6999 
7001  {
7002  memcpy( this, &rhs, sizeof( SampleLocationEXT ) );
7003  }
7004 
7006  {
7007  memcpy( this, &rhs, sizeof( SampleLocationEXT ) );
7008  return *this;
7009  }
7011  {
7012  x = x_;
7013  return *this;
7014  }
7015 
7017  {
7018  y = y_;
7019  return *this;
7020  }
7021 
7022  operator const VkSampleLocationEXT&() const
7023  {
7024  return *reinterpret_cast<const VkSampleLocationEXT*>(this);
7025  }
7026 
7027  bool operator==( SampleLocationEXT const& rhs ) const
7028  {
7029  return ( x == rhs.x )
7030  && ( y == rhs.y );
7031  }
7032 
7033  bool operator!=( SampleLocationEXT const& rhs ) const
7034  {
7035  return !operator==( rhs );
7036  }
7037 
7038  float x;
7039  float y;
7040  };
7041  static_assert( sizeof( SampleLocationEXT ) == sizeof( VkSampleLocationEXT ), "struct and wrapper have different size!" );
7042 
7044  {
7045  operator const VkShaderResourceUsageAMD&() const
7046  {
7047  return *reinterpret_cast<const VkShaderResourceUsageAMD*>(this);
7048  }
7049 
7050  bool operator==( ShaderResourceUsageAMD const& rhs ) const
7051  {
7052  return ( numUsedVgprs == rhs.numUsedVgprs )
7053  && ( numUsedSgprs == rhs.numUsedSgprs )
7057  }
7058 
7059  bool operator!=( ShaderResourceUsageAMD const& rhs ) const
7060  {
7061  return !operator==( rhs );
7062  }
7063 
7069  };
7070  static_assert( sizeof( ShaderResourceUsageAMD ) == sizeof( VkShaderResourceUsageAMD ), "struct and wrapper have different size!" );
7071 
7073  {
7075  : binding( binding_ )
7076  , divisor( divisor_ )
7077  {
7078  }
7079 
7081  {
7082  memcpy( this, &rhs, sizeof( VertexInputBindingDivisorDescriptionEXT ) );
7083  }
7084 
7086  {
7087  memcpy( this, &rhs, sizeof( VertexInputBindingDivisorDescriptionEXT ) );
7088  return *this;
7089  }
7091  {
7092  binding = binding_;
7093  return *this;
7094  }
7095 
7097  {
7098  divisor = divisor_;
7099  return *this;
7100  }
7101 
7103  {
7104  return *reinterpret_cast<const VkVertexInputBindingDivisorDescriptionEXT*>(this);
7105  }
7106 
7108  {
7109  return ( binding == rhs.binding )
7110  && ( divisor == rhs.divisor );
7111  }
7112 
7114  {
7115  return !operator==( rhs );
7116  }
7117 
7120  };
7121  static_assert( sizeof( VertexInputBindingDivisorDescriptionEXT ) == sizeof( VkVertexInputBindingDivisorDescriptionEXT ), "struct and wrapper have different size!" );
7122 
7123  enum class ImageLayout
7124  {
7140  };
7141 
7143  {
7145  : sampler( sampler_ )
7146  , imageView( imageView_ )
7147  , imageLayout( imageLayout_ )
7148  {
7149  }
7150 
7152  {
7153  memcpy( this, &rhs, sizeof( DescriptorImageInfo ) );
7154  }
7155 
7157  {
7158  memcpy( this, &rhs, sizeof( DescriptorImageInfo ) );
7159  return *this;
7160  }
7162  {
7163  sampler = sampler_;
7164  return *this;
7165  }
7166 
7168  {
7169  imageView = imageView_;
7170  return *this;
7171  }
7172 
7174  {
7175  imageLayout = imageLayout_;
7176  return *this;
7177  }
7178 
7179  operator const VkDescriptorImageInfo&() const
7180  {
7181  return *reinterpret_cast<const VkDescriptorImageInfo*>(this);
7182  }
7183 
7184  bool operator==( DescriptorImageInfo const& rhs ) const
7185  {
7186  return ( sampler == rhs.sampler )
7187  && ( imageView == rhs.imageView )
7188  && ( imageLayout == rhs.imageLayout );
7189  }
7190 
7191  bool operator!=( DescriptorImageInfo const& rhs ) const
7192  {
7193  return !operator==( rhs );
7194  }
7195 
7199  };
7200  static_assert( sizeof( DescriptorImageInfo ) == sizeof( VkDescriptorImageInfo ), "struct and wrapper have different size!" );
7201 
7203  {
7205  : attachment( attachment_ )
7206  , layout( layout_ )
7207  {
7208  }
7209 
7211  {
7212  memcpy( this, &rhs, sizeof( AttachmentReference ) );
7213  }
7214 
7216  {
7217  memcpy( this, &rhs, sizeof( AttachmentReference ) );
7218  return *this;
7219  }
7221  {
7222  attachment = attachment_;
7223  return *this;
7224  }
7225 
7227  {
7228  layout = layout_;
7229  return *this;
7230  }
7231 
7232  operator const VkAttachmentReference&() const
7233  {
7234  return *reinterpret_cast<const VkAttachmentReference*>(this);
7235  }
7236 
7237  bool operator==( AttachmentReference const& rhs ) const
7238  {
7239  return ( attachment == rhs.attachment )
7240  && ( layout == rhs.layout );
7241  }
7242 
7243  bool operator!=( AttachmentReference const& rhs ) const
7244  {
7245  return !operator==( rhs );
7246  }
7247 
7250  };
7251  static_assert( sizeof( AttachmentReference ) == sizeof( VkAttachmentReference ), "struct and wrapper have different size!" );
7252 
7253  enum class AttachmentLoadOp
7254  {
7258  };
7259 
7261  {
7264  };
7265 
7266  enum class ImageType
7267  {
7271  };
7272 
7273  enum class ImageTiling
7274  {
7277  };
7278 
7279  enum class ImageViewType
7280  {
7288  };
7289 
7291  {
7294  };
7295 
7296  enum class ComponentSwizzle
7297  {
7305  };
7306 
7308  {
7310  : r( r_ )
7311  , g( g_ )
7312  , b( b_ )
7313  , a( a_ )
7314  {
7315  }
7316 
7318  {
7319  memcpy( this, &rhs, sizeof( ComponentMapping ) );
7320  }
7321 
7323  {
7324  memcpy( this, &rhs, sizeof( ComponentMapping ) );
7325  return *this;
7326  }
7328  {
7329  r = r_;
7330  return *this;
7331  }
7332 
7334  {
7335  g = g_;
7336  return *this;
7337  }
7338 
7340  {
7341  b = b_;
7342  return *this;
7343  }
7344 
7346  {
7347  a = a_;
7348  return *this;
7349  }
7350 
7351  operator const VkComponentMapping&() const
7352  {
7353  return *reinterpret_cast<const VkComponentMapping*>(this);
7354  }
7355 
7356  bool operator==( ComponentMapping const& rhs ) const
7357  {
7358  return ( r == rhs.r )
7359  && ( g == rhs.g )
7360  && ( b == rhs.b )
7361  && ( a == rhs.a );
7362  }
7363 
7364  bool operator!=( ComponentMapping const& rhs ) const
7365  {
7366  return !operator==( rhs );
7367  }
7368 
7373  };
7374  static_assert( sizeof( ComponentMapping ) == sizeof( VkComponentMapping ), "struct and wrapper have different size!" );
7375 
7376  enum class DescriptorType
7377  {
7389  };
7390 
7392  {
7394  : type( type_ )
7395  , descriptorCount( descriptorCount_ )
7396  {
7397  }
7398 
7400  {
7401  memcpy( this, &rhs, sizeof( DescriptorPoolSize ) );
7402  }
7403 
7405  {
7406  memcpy( this, &rhs, sizeof( DescriptorPoolSize ) );
7407  return *this;
7408  }
7410  {
7411  type = type_;
7412  return *this;
7413  }
7414 
7416  {
7417  descriptorCount = descriptorCount_;
7418  return *this;
7419  }
7420 
7421  operator const VkDescriptorPoolSize&() const
7422  {
7423  return *reinterpret_cast<const VkDescriptorPoolSize*>(this);
7424  }
7425 
7426  bool operator==( DescriptorPoolSize const& rhs ) const
7427  {
7428  return ( type == rhs.type )
7429  && ( descriptorCount == rhs.descriptorCount );
7430  }
7431 
7432  bool operator!=( DescriptorPoolSize const& rhs ) const
7433  {
7434  return !operator==( rhs );
7435  }
7436 
7439  };
7440  static_assert( sizeof( DescriptorPoolSize ) == sizeof( VkDescriptorPoolSize ), "struct and wrapper have different size!" );
7441 
7443  {
7444  DescriptorUpdateTemplateEntry( uint32_t dstBinding_ = 0, uint32_t dstArrayElement_ = 0, uint32_t descriptorCount_ = 0, DescriptorType descriptorType_ = DescriptorType::eSampler, size_t offset_ = 0, size_t stride_ = 0 )
7445  : dstBinding( dstBinding_ )
7446  , dstArrayElement( dstArrayElement_ )
7447  , descriptorCount( descriptorCount_ )
7448  , descriptorType( descriptorType_ )
7449  , offset( offset_ )
7450  , stride( stride_ )
7451  {
7452  }
7453 
7455  {
7456  memcpy( this, &rhs, sizeof( DescriptorUpdateTemplateEntry ) );
7457  }
7458 
7460  {
7461  memcpy( this, &rhs, sizeof( DescriptorUpdateTemplateEntry ) );
7462  return *this;
7463  }
7465  {
7466  dstBinding = dstBinding_;
7467  return *this;
7468  }
7469 
7471  {
7472  dstArrayElement = dstArrayElement_;
7473  return *this;
7474  }
7475 
7477  {
7478  descriptorCount = descriptorCount_;
7479  return *this;
7480  }
7481 
7483  {
7484  descriptorType = descriptorType_;
7485  return *this;
7486  }
7487 
7489  {
7490  offset = offset_;
7491  return *this;
7492  }
7493 
7495  {
7496  stride = stride_;
7497  return *this;
7498  }
7499 
7500  operator const VkDescriptorUpdateTemplateEntry&() const
7501  {
7502  return *reinterpret_cast<const VkDescriptorUpdateTemplateEntry*>(this);
7503  }
7504 
7506  {
7507  return ( dstBinding == rhs.dstBinding )
7508  && ( dstArrayElement == rhs.dstArrayElement )
7509  && ( descriptorCount == rhs.descriptorCount )
7510  && ( descriptorType == rhs.descriptorType )
7511  && ( offset == rhs.offset )
7512  && ( stride == rhs.stride );
7513  }
7514 
7516  {
7517  return !operator==( rhs );
7518  }
7519 
7524  size_t offset;
7525  size_t stride;
7526  };
7527  static_assert( sizeof( DescriptorUpdateTemplateEntry ) == sizeof( VkDescriptorUpdateTemplateEntry ), "struct and wrapper have different size!" );
7528 
7530 
7531  enum class QueryType
7532  {
7536  };
7537 
7538  enum class BorderColor
7539  {
7546  };
7547 
7549  {
7552  };
7553 
7555  {
7557  };
7558 
7560  {
7572  };
7573 
7574  enum class SharingMode
7575  {
7578  };
7579 
7580  enum class IndexType
7581  {
7584  };
7585 
7586  enum class Filter
7587  {
7591  };
7592 
7594  {
7597  };
7598 
7600  {
7606  };
7607 
7608  enum class CompareOp
7609  {
7618  };
7619 
7620  enum class PolygonMode
7621  {
7626  };
7627 
7628  enum class CullModeFlagBits
7629  {
7634  };
7635 
7637 
7639  {
7640  return CullModeFlags( bit0 ) | bit1;
7641  }
7642 
7644  {
7645  return ~( CullModeFlags( bits ) );
7646  }
7647 
7648  template <> struct FlagTraits<CullModeFlagBits>
7649  {
7650  enum
7651  {
7653  };
7654  };
7655 
7656  enum class FrontFace
7657  {
7660  };
7661 
7662  enum class BlendFactor
7663  {
7683  };
7684 
7685  enum class BlendOp
7686  {
7738  };
7739 
7740  enum class StencilOp
7741  {
7750  };
7751 
7753  {
7754  StencilOpState( StencilOp failOp_ = StencilOp::eKeep, StencilOp passOp_ = StencilOp::eKeep, StencilOp depthFailOp_ = StencilOp::eKeep, CompareOp compareOp_ = CompareOp::eNever, uint32_t compareMask_ = 0, uint32_t writeMask_ = 0, uint32_t reference_ = 0 )
7755  : failOp( failOp_ )
7756  , passOp( passOp_ )
7757  , depthFailOp( depthFailOp_ )
7758  , compareOp( compareOp_ )
7759  , compareMask( compareMask_ )
7760  , writeMask( writeMask_ )
7761  , reference( reference_ )
7762  {
7763  }
7764 
7766  {
7767  memcpy( this, &rhs, sizeof( StencilOpState ) );
7768  }
7769 
7771  {
7772  memcpy( this, &rhs, sizeof( StencilOpState ) );
7773  return *this;
7774  }
7776  {
7777  failOp = failOp_;
7778  return *this;
7779  }
7780 
7782  {
7783  passOp = passOp_;
7784  return *this;
7785  }
7786 
7788  {
7789  depthFailOp = depthFailOp_;
7790  return *this;
7791  }
7792 
7794  {
7795  compareOp = compareOp_;
7796  return *this;
7797  }
7798 
7800  {
7801  compareMask = compareMask_;
7802  return *this;
7803  }
7804 
7806  {
7807  writeMask = writeMask_;
7808  return *this;
7809  }
7810 
7812  {
7813  reference = reference_;
7814  return *this;
7815  }
7816 
7817  operator const VkStencilOpState&() const
7818  {
7819  return *reinterpret_cast<const VkStencilOpState*>(this);
7820  }
7821 
7822  bool operator==( StencilOpState const& rhs ) const
7823  {
7824  return ( failOp == rhs.failOp )
7825  && ( passOp == rhs.passOp )
7826  && ( depthFailOp == rhs.depthFailOp )
7827  && ( compareOp == rhs.compareOp )
7828  && ( compareMask == rhs.compareMask )
7829  && ( writeMask == rhs.writeMask )
7830  && ( reference == rhs.reference );
7831  }
7832 
7833  bool operator!=( StencilOpState const& rhs ) const
7834  {
7835  return !operator==( rhs );
7836  }
7837 
7845  };
7846  static_assert( sizeof( StencilOpState ) == sizeof( VkStencilOpState ), "struct and wrapper have different size!" );
7847 
7848  enum class LogicOp
7849  {
7857  eOr = VK_LOGIC_OP_OR,
7866  };
7867 
7869  {
7871  };
7872 
7874  {
7880  };
7881 
7883  {
7889  };
7890 
7891  enum class VertexInputRate
7892  {
7895  };
7896 
7898  {
7900  : binding( binding_ )
7901  , stride( stride_ )
7902  , inputRate( inputRate_ )
7903  {
7904  }
7905 
7907  {
7908  memcpy( this, &rhs, sizeof( VertexInputBindingDescription ) );
7909  }
7910 
7912  {
7913  memcpy( this, &rhs, sizeof( VertexInputBindingDescription ) );
7914  return *this;
7915  }
7917  {
7918  binding = binding_;
7919  return *this;
7920  }
7921 
7923  {
7924  stride = stride_;
7925  return *this;
7926  }
7927 
7929  {
7930  inputRate = inputRate_;
7931  return *this;
7932  }
7933 
7934  operator const VkVertexInputBindingDescription&() const
7935  {
7936  return *reinterpret_cast<const VkVertexInputBindingDescription*>(this);
7937  }
7938 
7940  {
7941  return ( binding == rhs.binding )
7942  && ( stride == rhs.stride )
7943  && ( inputRate == rhs.inputRate );
7944  }
7945 
7947  {
7948  return !operator==( rhs );
7949  }
7950 
7954  };
7955  static_assert( sizeof( VertexInputBindingDescription ) == sizeof( VkVertexInputBindingDescription ), "struct and wrapper have different size!" );
7956 
7957  enum class Format
7958  {
8220  };
8221 
8223  {
8224  VertexInputAttributeDescription( uint32_t location_ = 0, uint32_t binding_ = 0, Format format_ = Format::eUndefined, uint32_t offset_ = 0 )
8225  : location( location_ )
8226  , binding( binding_ )
8227  , format( format_ )
8228  , offset( offset_ )
8229  {
8230  }
8231 
8233  {
8234  memcpy( this, &rhs, sizeof( VertexInputAttributeDescription ) );
8235  }
8236 
8238  {
8239  memcpy( this, &rhs, sizeof( VertexInputAttributeDescription ) );
8240  return *this;
8241  }
8243  {
8244  location = location_;
8245  return *this;
8246  }
8247 
8249  {
8250  binding = binding_;
8251  return *this;
8252  }
8253 
8255  {
8256  format = format_;
8257  return *this;
8258  }
8259 
8261  {
8262  offset = offset_;
8263  return *this;
8264  }
8265 
8266  operator const VkVertexInputAttributeDescription&() const
8267  {
8268  return *reinterpret_cast<const VkVertexInputAttributeDescription*>(this);
8269  }
8270 
8272  {
8273  return ( location == rhs.location )
8274  && ( binding == rhs.binding )
8275  && ( format == rhs.format )
8276  && ( offset == rhs.offset );
8277  }
8278 
8280  {
8281  return !operator==( rhs );
8282  }
8283 
8288  };
8289  static_assert( sizeof( VertexInputAttributeDescription ) == sizeof( VkVertexInputAttributeDescription ), "struct and wrapper have different size!" );
8290 
8291  enum class StructureType
8292  {
8584  };
8585 
8587  {
8588  ApplicationInfo( const char* pApplicationName_ = nullptr, uint32_t applicationVersion_ = 0, const char* pEngineName_ = nullptr, uint32_t engineVersion_ = 0, uint32_t apiVersion_ = 0 )
8589  : pApplicationName( pApplicationName_ )
8590  , applicationVersion( applicationVersion_ )
8591  , pEngineName( pEngineName_ )
8592  , engineVersion( engineVersion_ )
8593  , apiVersion( apiVersion_ )
8594  {
8595  }
8596 
8598  {
8599  memcpy( this, &rhs, sizeof( ApplicationInfo ) );
8600  }
8601 
8603  {
8604  memcpy( this, &rhs, sizeof( ApplicationInfo ) );
8605  return *this;
8606  }
8607  ApplicationInfo& setPNext( const void* pNext_ )
8608  {
8609  pNext = pNext_;
8610  return *this;
8611  }
8612 
8613  ApplicationInfo& setPApplicationName( const char* pApplicationName_ )
8614  {
8615  pApplicationName = pApplicationName_;
8616  return *this;
8617  }
8618 
8620  {
8621  applicationVersion = applicationVersion_;
8622  return *this;
8623  }
8624 
8625  ApplicationInfo& setPEngineName( const char* pEngineName_ )
8626  {
8627  pEngineName = pEngineName_;
8628  return *this;
8629  }
8630 
8632  {
8633  engineVersion = engineVersion_;
8634  return *this;
8635  }
8636 
8638  {
8639  apiVersion = apiVersion_;
8640  return *this;
8641  }
8642 
8643  operator const VkApplicationInfo&() const
8644  {
8645  return *reinterpret_cast<const VkApplicationInfo*>(this);
8646  }
8647 
8648  bool operator==( ApplicationInfo const& rhs ) const
8649  {
8650  return ( sType == rhs.sType )
8651  && ( pNext == rhs.pNext )
8652  && ( pApplicationName == rhs.pApplicationName )
8654  && ( pEngineName == rhs.pEngineName )
8655  && ( engineVersion == rhs.engineVersion )
8656  && ( apiVersion == rhs.apiVersion );
8657  }
8658 
8659  bool operator!=( ApplicationInfo const& rhs ) const
8660  {
8661  return !operator==( rhs );
8662  }
8663 
8664  private:
8666 
8667  public:
8668  const void* pNext = nullptr;
8669  const char* pApplicationName;
8671  const char* pEngineName;
8674  };
8675  static_assert( sizeof( ApplicationInfo ) == sizeof( VkApplicationInfo ), "struct and wrapper have different size!" );
8676 
8678  {
8679  InstanceCreateInfo( InstanceCreateFlags flags_ = InstanceCreateFlags(), const ApplicationInfo* pApplicationInfo_ = nullptr, uint32_t enabledLayerCount_ = 0, const char* const* ppEnabledLayerNames_ = nullptr, uint32_t enabledExtensionCount_ = 0, const char* const* ppEnabledExtensionNames_ = nullptr )
8680  : flags( flags_ )
8681  , pApplicationInfo( pApplicationInfo_ )
8682  , enabledLayerCount( enabledLayerCount_ )
8683  , ppEnabledLayerNames( ppEnabledLayerNames_ )
8684  , enabledExtensionCount( enabledExtensionCount_ )
8685  , ppEnabledExtensionNames( ppEnabledExtensionNames_ )
8686  {
8687  }
8688 
8690  {
8691  memcpy( this, &rhs, sizeof( InstanceCreateInfo ) );
8692  }
8693 
8695  {
8696  memcpy( this, &rhs, sizeof( InstanceCreateInfo ) );
8697  return *this;
8698  }
8699  InstanceCreateInfo& setPNext( const void* pNext_ )
8700  {
8701  pNext = pNext_;
8702  return *this;
8703  }
8704 
8706  {
8707  flags = flags_;
8708  return *this;
8709  }
8710 
8712  {
8713  pApplicationInfo = pApplicationInfo_;
8714  return *this;
8715  }
8716 
8718  {
8719  enabledLayerCount = enabledLayerCount_;
8720  return *this;
8721  }
8722 
8723  InstanceCreateInfo& setPpEnabledLayerNames( const char* const* ppEnabledLayerNames_ )
8724  {
8725  ppEnabledLayerNames = ppEnabledLayerNames_;
8726  return *this;
8727  }
8728 
8730  {
8731  enabledExtensionCount = enabledExtensionCount_;
8732  return *this;
8733  }
8734 
8735  InstanceCreateInfo& setPpEnabledExtensionNames( const char* const* ppEnabledExtensionNames_ )
8736  {
8737  ppEnabledExtensionNames = ppEnabledExtensionNames_;
8738  return *this;
8739  }
8740 
8741  operator const VkInstanceCreateInfo&() const
8742  {
8743  return *reinterpret_cast<const VkInstanceCreateInfo*>(this);
8744  }
8745 
8746  bool operator==( InstanceCreateInfo const& rhs ) const
8747  {
8748  return ( sType == rhs.sType )
8749  && ( pNext == rhs.pNext )
8750  && ( flags == rhs.flags )
8751  && ( pApplicationInfo == rhs.pApplicationInfo )
8752  && ( enabledLayerCount == rhs.enabledLayerCount )
8756  }
8757 
8758  bool operator!=( InstanceCreateInfo const& rhs ) const
8759  {
8760  return !operator==( rhs );
8761  }
8762 
8763  private:
8765 
8766  public:
8767  const void* pNext = nullptr;
8771  const char* const* ppEnabledLayerNames;
8773  const char* const* ppEnabledExtensionNames;
8774  };
8775  static_assert( sizeof( InstanceCreateInfo ) == sizeof( VkInstanceCreateInfo ), "struct and wrapper have different size!" );
8776 
8778  {
8779  MemoryAllocateInfo( DeviceSize allocationSize_ = 0, uint32_t memoryTypeIndex_ = 0 )
8780  : allocationSize( allocationSize_ )
8781  , memoryTypeIndex( memoryTypeIndex_ )
8782  {
8783  }
8784 
8786  {
8787  memcpy( this, &rhs, sizeof( MemoryAllocateInfo ) );
8788  }
8789 
8791  {
8792  memcpy( this, &rhs, sizeof( MemoryAllocateInfo ) );
8793  return *this;
8794  }
8795  MemoryAllocateInfo& setPNext( const void* pNext_ )
8796  {
8797  pNext = pNext_;
8798  return *this;
8799  }
8800 
8802  {
8803  allocationSize = allocationSize_;
8804  return *this;
8805  }
8806 
8808  {
8809  memoryTypeIndex = memoryTypeIndex_;
8810  return *this;
8811  }
8812 
8813  operator const VkMemoryAllocateInfo&() const
8814  {
8815  return *reinterpret_cast<const VkMemoryAllocateInfo*>(this);
8816  }
8817 
8818  bool operator==( MemoryAllocateInfo const& rhs ) const
8819  {
8820  return ( sType == rhs.sType )
8821  && ( pNext == rhs.pNext )
8822  && ( allocationSize == rhs.allocationSize )
8823  && ( memoryTypeIndex == rhs.memoryTypeIndex );
8824  }
8825 
8826  bool operator!=( MemoryAllocateInfo const& rhs ) const
8827  {
8828  return !operator==( rhs );
8829  }
8830 
8831  private:
8833 
8834  public:
8835  const void* pNext = nullptr;
8838  };
8839  static_assert( sizeof( MemoryAllocateInfo ) == sizeof( VkMemoryAllocateInfo ), "struct and wrapper have different size!" );
8840 
8842  {
8843  MappedMemoryRange( DeviceMemory memory_ = DeviceMemory(), DeviceSize offset_ = 0, DeviceSize size_ = 0 )
8844  : memory( memory_ )
8845  , offset( offset_ )
8846  , size( size_ )
8847  {
8848  }
8849 
8851  {
8852  memcpy( this, &rhs, sizeof( MappedMemoryRange ) );
8853  }
8854 
8856  {
8857  memcpy( this, &rhs, sizeof( MappedMemoryRange ) );
8858  return *this;
8859  }
8860  MappedMemoryRange& setPNext( const void* pNext_ )
8861  {
8862  pNext = pNext_;
8863  return *this;
8864  }
8865 
8867  {
8868  memory = memory_;
8869  return *this;
8870  }
8871 
8873  {
8874  offset = offset_;
8875  return *this;
8876  }
8877 
8879  {
8880  size = size_;
8881  return *this;
8882  }
8883 
8884  operator const VkMappedMemoryRange&() const
8885  {
8886  return *reinterpret_cast<const VkMappedMemoryRange*>(this);
8887  }
8888 
8889  bool operator==( MappedMemoryRange const& rhs ) const
8890  {
8891  return ( sType == rhs.sType )
8892  && ( pNext == rhs.pNext )
8893  && ( memory == rhs.memory )
8894  && ( offset == rhs.offset )
8895  && ( size == rhs.size );
8896  }
8897 
8898  bool operator!=( MappedMemoryRange const& rhs ) const
8899  {
8900  return !operator==( rhs );
8901  }
8902 
8903  private:
8905 
8906  public:
8907  const void* pNext = nullptr;
8911  };
8912  static_assert( sizeof( MappedMemoryRange ) == sizeof( VkMappedMemoryRange ), "struct and wrapper have different size!" );
8913 
8915  {
8916  WriteDescriptorSet( DescriptorSet dstSet_ = DescriptorSet(), uint32_t dstBinding_ = 0, uint32_t dstArrayElement_ = 0, uint32_t descriptorCount_ = 0, DescriptorType descriptorType_ = DescriptorType::eSampler, const DescriptorImageInfo* pImageInfo_ = nullptr, const DescriptorBufferInfo* pBufferInfo_ = nullptr, const BufferView* pTexelBufferView_ = nullptr )
8917  : dstSet( dstSet_ )
8918  , dstBinding( dstBinding_ )
8919  , dstArrayElement( dstArrayElement_ )
8920  , descriptorCount( descriptorCount_ )
8921  , descriptorType( descriptorType_ )
8922  , pImageInfo( pImageInfo_ )
8923  , pBufferInfo( pBufferInfo_ )
8924  , pTexelBufferView( pTexelBufferView_ )
8925  {
8926  }
8927 
8929  {
8930  memcpy( this, &rhs, sizeof( WriteDescriptorSet ) );
8931  }
8932 
8934  {
8935  memcpy( this, &rhs, sizeof( WriteDescriptorSet ) );
8936  return *this;
8937  }
8938  WriteDescriptorSet& setPNext( const void* pNext_ )
8939  {
8940  pNext = pNext_;
8941  return *this;
8942  }
8943 
8945  {
8946  dstSet = dstSet_;
8947  return *this;
8948  }
8949 
8951  {
8952  dstBinding = dstBinding_;
8953  return *this;
8954  }
8955 
8957  {
8958  dstArrayElement = dstArrayElement_;
8959  return *this;
8960  }
8961 
8963  {
8964  descriptorCount = descriptorCount_;
8965  return *this;
8966  }
8967 
8969  {
8970  descriptorType = descriptorType_;
8971  return *this;
8972  }
8973 
8975  {
8976  pImageInfo = pImageInfo_;
8977  return *this;
8978  }
8979 
8981  {
8982  pBufferInfo = pBufferInfo_;
8983  return *this;
8984  }
8985 
8987  {
8988  pTexelBufferView = pTexelBufferView_;
8989  return *this;
8990  }
8991 
8992  operator const VkWriteDescriptorSet&() const
8993  {
8994  return *reinterpret_cast<const VkWriteDescriptorSet*>(this);
8995  }
8996 
8997  bool operator==( WriteDescriptorSet const& rhs ) const
8998  {
8999  return ( sType == rhs.sType )
9000  && ( pNext == rhs.pNext )
9001  && ( dstSet == rhs.dstSet )
9002  && ( dstBinding == rhs.dstBinding )
9003  && ( dstArrayElement == rhs.dstArrayElement )
9004  && ( descriptorCount == rhs.descriptorCount )
9005  && ( descriptorType == rhs.descriptorType )
9006  && ( pImageInfo == rhs.pImageInfo )
9007  && ( pBufferInfo == rhs.pBufferInfo )
9008  && ( pTexelBufferView == rhs.pTexelBufferView );
9009  }
9010 
9011  bool operator!=( WriteDescriptorSet const& rhs ) const
9012  {
9013  return !operator==( rhs );
9014  }
9015 
9016  private:
9018 
9019  public:
9020  const void* pNext = nullptr;
9029  };
9030  static_assert( sizeof( WriteDescriptorSet ) == sizeof( VkWriteDescriptorSet ), "struct and wrapper have different size!" );
9031 
9033  {
9034  CopyDescriptorSet( DescriptorSet srcSet_ = DescriptorSet(), uint32_t srcBinding_ = 0, uint32_t srcArrayElement_ = 0, DescriptorSet dstSet_ = DescriptorSet(), uint32_t dstBinding_ = 0, uint32_t dstArrayElement_ = 0, uint32_t descriptorCount_ = 0 )
9035  : srcSet( srcSet_ )
9036  , srcBinding( srcBinding_ )
9037  , srcArrayElement( srcArrayElement_ )
9038  , dstSet( dstSet_ )
9039  , dstBinding( dstBinding_ )
9040  , dstArrayElement( dstArrayElement_ )
9041  , descriptorCount( descriptorCount_ )
9042  {
9043  }
9044 
9046  {
9047  memcpy( this, &rhs, sizeof( CopyDescriptorSet ) );
9048  }
9049 
9051  {
9052  memcpy( this, &rhs, sizeof( CopyDescriptorSet ) );
9053  return *this;
9054  }
9055  CopyDescriptorSet& setPNext( const void* pNext_ )
9056  {
9057  pNext = pNext_;
9058  return *this;
9059  }
9060 
9062  {
9063  srcSet = srcSet_;
9064  return *this;
9065  }
9066 
9068  {
9069  srcBinding = srcBinding_;
9070  return *this;
9071  }
9072 
9074  {
9075  srcArrayElement = srcArrayElement_;
9076  return *this;
9077  }
9078 
9080  {
9081  dstSet = dstSet_;
9082  return *this;
9083  }
9084 
9086  {
9087  dstBinding = dstBinding_;
9088  return *this;
9089  }
9090 
9092  {
9093  dstArrayElement = dstArrayElement_;
9094  return *this;
9095  }
9096 
9098  {
9099  descriptorCount = descriptorCount_;
9100  return *this;
9101  }
9102 
9103  operator const VkCopyDescriptorSet&() const
9104  {
9105  return *reinterpret_cast<const VkCopyDescriptorSet*>(this);
9106  }
9107 
9108  bool operator==( CopyDescriptorSet const& rhs ) const
9109  {
9110  return ( sType == rhs.sType )
9111  && ( pNext == rhs.pNext )
9112  && ( srcSet == rhs.srcSet )
9113  && ( srcBinding == rhs.srcBinding )
9114  && ( srcArrayElement == rhs.srcArrayElement )
9115  && ( dstSet == rhs.dstSet )
9116  && ( dstBinding == rhs.dstBinding )
9117  && ( dstArrayElement == rhs.dstArrayElement )
9118  && ( descriptorCount == rhs.descriptorCount );
9119  }
9120 
9121  bool operator!=( CopyDescriptorSet const& rhs ) const
9122  {
9123  return !operator==( rhs );
9124  }
9125 
9126  private:
9128 
9129  public:
9130  const void* pNext = nullptr;
9138  };
9139  static_assert( sizeof( CopyDescriptorSet ) == sizeof( VkCopyDescriptorSet ), "struct and wrapper have different size!" );
9140 
9142  {
9144  : flags( flags_ )
9145  , buffer( buffer_ )
9146  , format( format_ )
9147  , offset( offset_ )
9148  , range( range_ )
9149  {
9150  }
9151 
9153  {
9154  memcpy( this, &rhs, sizeof( BufferViewCreateInfo ) );
9155  }
9156 
9158  {
9159  memcpy( this, &rhs, sizeof( BufferViewCreateInfo ) );
9160  return *this;
9161  }
9162  BufferViewCreateInfo& setPNext( const void* pNext_ )
9163  {
9164  pNext = pNext_;
9165  return *this;
9166  }
9167 
9169  {
9170  flags = flags_;
9171  return *this;
9172  }
9173 
9175  {
9176  buffer = buffer_;
9177  return *this;
9178  }
9179 
9181  {
9182  format = format_;
9183  return *this;
9184  }
9185 
9187  {
9188  offset = offset_;
9189  return *this;
9190  }
9191 
9193  {
9194  range = range_;
9195  return *this;
9196  }
9197 
9198  operator const VkBufferViewCreateInfo&() const
9199  {
9200  return *reinterpret_cast<const VkBufferViewCreateInfo*>(this);
9201  }
9202 
9203  bool operator==( BufferViewCreateInfo const& rhs ) const
9204  {
9205  return ( sType == rhs.sType )
9206  && ( pNext == rhs.pNext )
9207  && ( flags == rhs.flags )
9208  && ( buffer == rhs.buffer )
9209  && ( format == rhs.format )
9210  && ( offset == rhs.offset )
9211  && ( range == rhs.range );
9212  }
9213 
9214  bool operator!=( BufferViewCreateInfo const& rhs ) const
9215  {
9216  return !operator==( rhs );
9217  }
9218 
9219  private:
9221 
9222  public:
9223  const void* pNext = nullptr;
9229  };
9230  static_assert( sizeof( BufferViewCreateInfo ) == sizeof( VkBufferViewCreateInfo ), "struct and wrapper have different size!" );
9231 
9233  {
9234  ShaderModuleCreateInfo( ShaderModuleCreateFlags flags_ = ShaderModuleCreateFlags(), size_t codeSize_ = 0, const uint32_t* pCode_ = nullptr )
9235  : flags( flags_ )
9236  , codeSize( codeSize_ )
9237  , pCode( pCode_ )
9238  {
9239  }
9240 
9242  {
9243  memcpy( this, &rhs, sizeof( ShaderModuleCreateInfo ) );
9244  }
9245 
9247  {
9248  memcpy( this, &rhs, sizeof( ShaderModuleCreateInfo ) );
9249  return *this;
9250  }
9251  ShaderModuleCreateInfo& setPNext( const void* pNext_ )
9252  {
9253  pNext = pNext_;
9254  return *this;
9255  }
9256 
9258  {
9259  flags = flags_;
9260  return *this;
9261  }
9262 
9264  {
9265  codeSize = codeSize_;
9266  return *this;
9267  }
9268 
9270  {
9271  pCode = pCode_;
9272  return *this;
9273  }
9274 
9275  operator const VkShaderModuleCreateInfo&() const
9276  {
9277  return *reinterpret_cast<const VkShaderModuleCreateInfo*>(this);
9278  }
9279 
9280  bool operator==( ShaderModuleCreateInfo const& rhs ) const
9281  {
9282  return ( sType == rhs.sType )
9283  && ( pNext == rhs.pNext )
9284  && ( flags == rhs.flags )
9285  && ( codeSize == rhs.codeSize )
9286  && ( pCode == rhs.pCode );
9287  }
9288 
9289  bool operator!=( ShaderModuleCreateInfo const& rhs ) const
9290  {
9291  return !operator==( rhs );
9292  }
9293 
9294  private:
9296 
9297  public:
9298  const void* pNext = nullptr;
9300  size_t codeSize;
9301  const uint32_t* pCode;
9302  };
9303  static_assert( sizeof( ShaderModuleCreateInfo ) == sizeof( VkShaderModuleCreateInfo ), "struct and wrapper have different size!" );
9304 
9306  {
9307  DescriptorSetAllocateInfo( DescriptorPool descriptorPool_ = DescriptorPool(), uint32_t descriptorSetCount_ = 0, const DescriptorSetLayout* pSetLayouts_ = nullptr )
9308  : descriptorPool( descriptorPool_ )
9309  , descriptorSetCount( descriptorSetCount_ )
9310  , pSetLayouts( pSetLayouts_ )
9311  {
9312  }
9313 
9315  {
9316  memcpy( this, &rhs, sizeof( DescriptorSetAllocateInfo ) );
9317  }
9318 
9320  {
9321  memcpy( this, &rhs, sizeof( DescriptorSetAllocateInfo ) );
9322  return *this;
9323  }
9324  DescriptorSetAllocateInfo& setPNext( const void* pNext_ )
9325  {
9326  pNext = pNext_;
9327  return *this;
9328  }
9329 
9331  {
9332  descriptorPool = descriptorPool_;
9333  return *this;
9334  }
9335 
9337  {
9338  descriptorSetCount = descriptorSetCount_;
9339  return *this;
9340  }
9341 
9343  {
9344  pSetLayouts = pSetLayouts_;
9345  return *this;
9346  }
9347 
9348  operator const VkDescriptorSetAllocateInfo&() const
9349  {
9350  return *reinterpret_cast<const VkDescriptorSetAllocateInfo*>(this);
9351  }
9352 
9353  bool operator==( DescriptorSetAllocateInfo const& rhs ) const
9354  {
9355  return ( sType == rhs.sType )
9356  && ( pNext == rhs.pNext )
9357  && ( descriptorPool == rhs.descriptorPool )
9359  && ( pSetLayouts == rhs.pSetLayouts );
9360  }
9361 
9362  bool operator!=( DescriptorSetAllocateInfo const& rhs ) const
9363  {
9364  return !operator==( rhs );
9365  }
9366 
9367  private:
9369 
9370  public:
9371  const void* pNext = nullptr;
9375  };
9376  static_assert( sizeof( DescriptorSetAllocateInfo ) == sizeof( VkDescriptorSetAllocateInfo ), "struct and wrapper have different size!" );
9377 
9379  {
9380  PipelineVertexInputStateCreateInfo( PipelineVertexInputStateCreateFlags flags_ = PipelineVertexInputStateCreateFlags(), uint32_t vertexBindingDescriptionCount_ = 0, const VertexInputBindingDescription* pVertexBindingDescriptions_ = nullptr, uint32_t vertexAttributeDescriptionCount_ = 0, const VertexInputAttributeDescription* pVertexAttributeDescriptions_ = nullptr )
9381  : flags( flags_ )
9382  , vertexBindingDescriptionCount( vertexBindingDescriptionCount_ )
9383  , pVertexBindingDescriptions( pVertexBindingDescriptions_ )
9384  , vertexAttributeDescriptionCount( vertexAttributeDescriptionCount_ )
9385  , pVertexAttributeDescriptions( pVertexAttributeDescriptions_ )
9386  {
9387  }
9388 
9390  {
9391  memcpy( this, &rhs, sizeof( PipelineVertexInputStateCreateInfo ) );
9392  }
9393 
9395  {
9396  memcpy( this, &rhs, sizeof( PipelineVertexInputStateCreateInfo ) );
9397  return *this;
9398  }
9400  {
9401  pNext = pNext_;
9402  return *this;
9403  }
9404 
9406  {
9407  flags = flags_;
9408  return *this;
9409  }
9410 
9412  {
9413  vertexBindingDescriptionCount = vertexBindingDescriptionCount_;
9414  return *this;
9415  }
9416 
9418  {
9419  pVertexBindingDescriptions = pVertexBindingDescriptions_;
9420  return *this;
9421  }
9422 
9424  {
9425  vertexAttributeDescriptionCount = vertexAttributeDescriptionCount_;
9426  return *this;
9427  }
9428 
9430  {
9431  pVertexAttributeDescriptions = pVertexAttributeDescriptions_;
9432  return *this;
9433  }
9434 
9436  {
9437  return *reinterpret_cast<const VkPipelineVertexInputStateCreateInfo*>(this);
9438  }
9439 
9441  {
9442  return ( sType == rhs.sType )
9443  && ( pNext == rhs.pNext )
9444  && ( flags == rhs.flags )
9449  }
9450 
9452  {
9453  return !operator==( rhs );
9454  }
9455 
9456  private:
9458 
9459  public:
9460  const void* pNext = nullptr;
9466  };
9467  static_assert( sizeof( PipelineVertexInputStateCreateInfo ) == sizeof( VkPipelineVertexInputStateCreateInfo ), "struct and wrapper have different size!" );
9468 
9470  {
9472  : flags( flags_ )
9473  , topology( topology_ )
9474  , primitiveRestartEnable( primitiveRestartEnable_ )
9475  {
9476  }
9477 
9479  {
9480  memcpy( this, &rhs, sizeof( PipelineInputAssemblyStateCreateInfo ) );
9481  }
9482 
9484  {
9485  memcpy( this, &rhs, sizeof( PipelineInputAssemblyStateCreateInfo ) );
9486  return *this;
9487  }
9489  {
9490  pNext = pNext_;
9491  return *this;
9492  }
9493 
9495  {
9496  flags = flags_;
9497  return *this;
9498  }
9499 
9501  {
9502  topology = topology_;
9503  return *this;
9504  }
9505 
9507  {
9508  primitiveRestartEnable = primitiveRestartEnable_;
9509  return *this;
9510  }
9511 
9513  {
9514  return *reinterpret_cast<const VkPipelineInputAssemblyStateCreateInfo*>(this);
9515  }
9516 
9518  {
9519  return ( sType == rhs.sType )
9520  && ( pNext == rhs.pNext )
9521  && ( flags == rhs.flags )
9522  && ( topology == rhs.topology )
9524  }
9525 
9527  {
9528  return !operator==( rhs );
9529  }
9530 
9531  private:
9533 
9534  public:
9535  const void* pNext = nullptr;
9539  };
9540  static_assert( sizeof( PipelineInputAssemblyStateCreateInfo ) == sizeof( VkPipelineInputAssemblyStateCreateInfo ), "struct and wrapper have different size!" );
9541 
9543  {
9545  : flags( flags_ )
9546  , patchControlPoints( patchControlPoints_ )
9547  {
9548  }
9549 
9551  {
9552  memcpy( this, &rhs, sizeof( PipelineTessellationStateCreateInfo ) );
9553  }
9554 
9556  {
9557  memcpy( this, &rhs, sizeof( PipelineTessellationStateCreateInfo ) );
9558  return *this;
9559  }
9561  {
9562  pNext = pNext_;
9563  return *this;
9564  }
9565 
9567  {
9568  flags = flags_;
9569  return *this;
9570  }
9571 
9573  {
9574  patchControlPoints = patchControlPoints_;
9575  return *this;
9576  }
9577 
9579  {
9580  return *reinterpret_cast<const VkPipelineTessellationStateCreateInfo*>(this);
9581  }
9582 
9584  {
9585  return ( sType == rhs.sType )
9586  && ( pNext == rhs.pNext )
9587  && ( flags == rhs.flags )
9588  && ( patchControlPoints == rhs.patchControlPoints );
9589  }
9590 
9592  {
9593  return !operator==( rhs );
9594  }
9595 
9596  private:
9598 
9599  public:
9600  const void* pNext = nullptr;
9603  };
9604  static_assert( sizeof( PipelineTessellationStateCreateInfo ) == sizeof( VkPipelineTessellationStateCreateInfo ), "struct and wrapper have different size!" );
9605 
9607  {
9608  PipelineViewportStateCreateInfo( PipelineViewportStateCreateFlags flags_ = PipelineViewportStateCreateFlags(), uint32_t viewportCount_ = 0, const Viewport* pViewports_ = nullptr, uint32_t scissorCount_ = 0, const Rect2D* pScissors_ = nullptr )
9609  : flags( flags_ )
9610  , viewportCount( viewportCount_ )
9611  , pViewports( pViewports_ )
9612  , scissorCount( scissorCount_ )
9613  , pScissors( pScissors_ )
9614  {
9615  }
9616 
9618  {
9619  memcpy( this, &rhs, sizeof( PipelineViewportStateCreateInfo ) );
9620  }
9621 
9623  {
9624  memcpy( this, &rhs, sizeof( PipelineViewportStateCreateInfo ) );
9625  return *this;
9626  }
9628  {
9629  pNext = pNext_;
9630  return *this;
9631  }
9632 
9634  {
9635  flags = flags_;
9636  return *this;
9637  }
9638 
9640  {
9641  viewportCount = viewportCount_;
9642  return *this;
9643  }
9644 
9646  {
9647  pViewports = pViewports_;
9648  return *this;
9649  }
9650 
9652  {
9653  scissorCount = scissorCount_;
9654  return *this;
9655  }
9656 
9658  {
9659  pScissors = pScissors_;
9660  return *this;
9661  }
9662 
9663  operator const VkPipelineViewportStateCreateInfo&() const
9664  {
9665  return *reinterpret_cast<const VkPipelineViewportStateCreateInfo*>(this);
9666  }
9667 
9669  {
9670  return ( sType == rhs.sType )
9671  && ( pNext == rhs.pNext )
9672  && ( flags == rhs.flags )
9673  && ( viewportCount == rhs.viewportCount )
9674  && ( pViewports == rhs.pViewports )
9675  && ( scissorCount == rhs.scissorCount )
9676  && ( pScissors == rhs.pScissors );
9677  }
9678 
9680  {
9681  return !operator==( rhs );
9682  }
9683 
9684  private:
9686 
9687  public:
9688  const void* pNext = nullptr;
9694  };
9695  static_assert( sizeof( PipelineViewportStateCreateInfo ) == sizeof( VkPipelineViewportStateCreateInfo ), "struct and wrapper have different size!" );
9696 
9698  {
9699  PipelineRasterizationStateCreateInfo( PipelineRasterizationStateCreateFlags flags_ = PipelineRasterizationStateCreateFlags(), Bool32 depthClampEnable_ = 0, Bool32 rasterizerDiscardEnable_ = 0, PolygonMode polygonMode_ = PolygonMode::eFill, CullModeFlags cullMode_ = CullModeFlags(), FrontFace frontFace_ = FrontFace::eCounterClockwise, Bool32 depthBiasEnable_ = 0, float depthBiasConstantFactor_ = 0, float depthBiasClamp_ = 0, float depthBiasSlopeFactor_ = 0, float lineWidth_ = 0 )
9700  : flags( flags_ )
9701  , depthClampEnable( depthClampEnable_ )
9702  , rasterizerDiscardEnable( rasterizerDiscardEnable_ )
9703  , polygonMode( polygonMode_ )
9704  , cullMode( cullMode_ )
9705  , frontFace( frontFace_ )
9706  , depthBiasEnable( depthBiasEnable_ )
9707  , depthBiasConstantFactor( depthBiasConstantFactor_ )
9708  , depthBiasClamp( depthBiasClamp_ )
9709  , depthBiasSlopeFactor( depthBiasSlopeFactor_ )
9710  , lineWidth( lineWidth_ )
9711  {
9712  }
9713 
9715  {
9716  memcpy( this, &rhs, sizeof( PipelineRasterizationStateCreateInfo ) );
9717  }
9718 
9720  {
9721  memcpy( this, &rhs, sizeof( PipelineRasterizationStateCreateInfo ) );
9722  return *this;
9723  }
9725  {
9726  pNext = pNext_;
9727  return *this;
9728  }
9729 
9731  {
9732  flags = flags_;
9733  return *this;
9734  }
9735 
9737  {
9738  depthClampEnable = depthClampEnable_;
9739  return *this;
9740  }
9741 
9743  {
9744  rasterizerDiscardEnable = rasterizerDiscardEnable_;
9745  return *this;
9746  }
9747 
9749  {
9750  polygonMode = polygonMode_;
9751  return *this;
9752  }
9753 
9755  {
9756  cullMode = cullMode_;
9757  return *this;
9758  }
9759 
9761  {
9762  frontFace = frontFace_;
9763  return *this;
9764  }
9765 
9767  {
9768  depthBiasEnable = depthBiasEnable_;
9769  return *this;
9770  }
9771 
9773  {
9774  depthBiasConstantFactor = depthBiasConstantFactor_;
9775  return *this;
9776  }
9777 
9779  {
9780  depthBiasClamp = depthBiasClamp_;
9781  return *this;
9782  }
9783 
9785  {
9786  depthBiasSlopeFactor = depthBiasSlopeFactor_;
9787  return *this;
9788  }
9789 
9791  {
9792  lineWidth = lineWidth_;
9793  return *this;
9794  }
9795 
9797  {
9798  return *reinterpret_cast<const VkPipelineRasterizationStateCreateInfo*>(this);
9799  }
9800 
9802  {
9803  return ( sType == rhs.sType )
9804  && ( pNext == rhs.pNext )
9805  && ( flags == rhs.flags )
9806  && ( depthClampEnable == rhs.depthClampEnable )
9808  && ( polygonMode == rhs.polygonMode )
9809  && ( cullMode == rhs.cullMode )
9810  && ( frontFace == rhs.frontFace )
9811  && ( depthBiasEnable == rhs.depthBiasEnable )
9813  && ( depthBiasClamp == rhs.depthBiasClamp )
9815  && ( lineWidth == rhs.lineWidth );
9816  }
9817 
9819  {
9820  return !operator==( rhs );
9821  }
9822 
9823  private:
9825 
9826  public:
9827  const void* pNext = nullptr;
9838  float lineWidth;
9839  };
9840  static_assert( sizeof( PipelineRasterizationStateCreateInfo ) == sizeof( VkPipelineRasterizationStateCreateInfo ), "struct and wrapper have different size!" );
9841 
9843  {
9844  PipelineDepthStencilStateCreateInfo( PipelineDepthStencilStateCreateFlags flags_ = PipelineDepthStencilStateCreateFlags(), Bool32 depthTestEnable_ = 0, Bool32 depthWriteEnable_ = 0, CompareOp depthCompareOp_ = CompareOp::eNever, Bool32 depthBoundsTestEnable_ = 0, Bool32 stencilTestEnable_ = 0, StencilOpState front_ = StencilOpState(), StencilOpState back_ = StencilOpState(), float minDepthBounds_ = 0, float maxDepthBounds_ = 0 )
9845  : flags( flags_ )
9846  , depthTestEnable( depthTestEnable_ )
9847  , depthWriteEnable( depthWriteEnable_ )
9848  , depthCompareOp( depthCompareOp_ )
9849  , depthBoundsTestEnable( depthBoundsTestEnable_ )
9850  , stencilTestEnable( stencilTestEnable_ )
9851  , front( front_ )
9852  , back( back_ )
9853  , minDepthBounds( minDepthBounds_ )
9854  , maxDepthBounds( maxDepthBounds_ )
9855  {
9856  }
9857 
9859  {
9860  memcpy( this, &rhs, sizeof( PipelineDepthStencilStateCreateInfo ) );
9861  }
9862 
9864  {
9865  memcpy( this, &rhs, sizeof( PipelineDepthStencilStateCreateInfo ) );
9866  return *this;
9867  }
9869  {
9870  pNext = pNext_;
9871  return *this;
9872  }
9873 
9875  {
9876  flags = flags_;
9877  return *this;
9878  }
9879 
9881  {
9882  depthTestEnable = depthTestEnable_;
9883  return *this;
9884  }
9885 
9887  {
9888  depthWriteEnable = depthWriteEnable_;
9889  return *this;
9890  }
9891 
9893  {
9894  depthCompareOp = depthCompareOp_;
9895  return *this;
9896  }
9897 
9899  {
9900  depthBoundsTestEnable = depthBoundsTestEnable_;
9901  return *this;
9902  }
9903 
9905  {
9906  stencilTestEnable = stencilTestEnable_;
9907  return *this;
9908  }
9909 
9911  {
9912  front = front_;
9913  return *this;
9914  }
9915 
9917  {
9918  back = back_;
9919  return *this;
9920  }
9921 
9923  {
9924  minDepthBounds = minDepthBounds_;
9925  return *this;
9926  }
9927 
9929  {
9930  maxDepthBounds = maxDepthBounds_;
9931  return *this;
9932  }
9933 
9935  {
9936  return *reinterpret_cast<const VkPipelineDepthStencilStateCreateInfo*>(this);
9937  }
9938 
9940  {
9941  return ( sType == rhs.sType )
9942  && ( pNext == rhs.pNext )
9943  && ( flags == rhs.flags )
9944  && ( depthTestEnable == rhs.depthTestEnable )
9945  && ( depthWriteEnable == rhs.depthWriteEnable )
9946  && ( depthCompareOp == rhs.depthCompareOp )
9948  && ( stencilTestEnable == rhs.stencilTestEnable )
9949  && ( front == rhs.front )
9950  && ( back == rhs.back )
9951  && ( minDepthBounds == rhs.minDepthBounds )
9952  && ( maxDepthBounds == rhs.maxDepthBounds );
9953  }
9954 
9956  {
9957  return !operator==( rhs );
9958  }
9959 
9960  private:
9962 
9963  public:
9964  const void* pNext = nullptr;
9975  };
9976  static_assert( sizeof( PipelineDepthStencilStateCreateInfo ) == sizeof( VkPipelineDepthStencilStateCreateInfo ), "struct and wrapper have different size!" );
9977 
9979  {
9980  PipelineCacheCreateInfo( PipelineCacheCreateFlags flags_ = PipelineCacheCreateFlags(), size_t initialDataSize_ = 0, const void* pInitialData_ = nullptr )
9981  : flags( flags_ )
9982  , initialDataSize( initialDataSize_ )
9983  , pInitialData( pInitialData_ )
9984  {
9985  }
9986 
9988  {
9989  memcpy( this, &rhs, sizeof( PipelineCacheCreateInfo ) );
9990  }
9991 
9993  {
9994  memcpy( this, &rhs, sizeof( PipelineCacheCreateInfo ) );
9995  return *this;
9996  }
9997  PipelineCacheCreateInfo& setPNext( const void* pNext_ )
9998  {
9999  pNext = pNext_;
10000  return *this;
10001  }
10002 
10004  {
10005  flags = flags_;
10006  return *this;
10007  }
10008 
10009  PipelineCacheCreateInfo& setInitialDataSize( size_t initialDataSize_ )
10010  {
10011  initialDataSize = initialDataSize_;
10012  return *this;
10013  }
10014 
10015  PipelineCacheCreateInfo& setPInitialData( const void* pInitialData_ )
10016  {
10017  pInitialData = pInitialData_;
10018  return *this;
10019  }
10020 
10021  operator const VkPipelineCacheCreateInfo&() const
10022  {
10023  return *reinterpret_cast<const VkPipelineCacheCreateInfo*>(this);
10024  }
10025 
10026  bool operator==( PipelineCacheCreateInfo const& rhs ) const
10027  {
10028  return ( sType == rhs.sType )
10029  && ( pNext == rhs.pNext )
10030  && ( flags == rhs.flags )
10031  && ( initialDataSize == rhs.initialDataSize )
10032  && ( pInitialData == rhs.pInitialData );
10033  }
10034 
10035  bool operator!=( PipelineCacheCreateInfo const& rhs ) const
10036  {
10037  return !operator==( rhs );
10038  }
10039 
10040  private:
10042 
10043  public:
10044  const void* pNext = nullptr;
10047  const void* pInitialData;
10048  };
10049  static_assert( sizeof( PipelineCacheCreateInfo ) == sizeof( VkPipelineCacheCreateInfo ), "struct and wrapper have different size!" );
10050 
10052  {
10053  SamplerCreateInfo( SamplerCreateFlags flags_ = SamplerCreateFlags(), Filter magFilter_ = Filter::eNearest, Filter minFilter_ = Filter::eNearest, SamplerMipmapMode mipmapMode_ = SamplerMipmapMode::eNearest, SamplerAddressMode addressModeU_ = SamplerAddressMode::eRepeat, SamplerAddressMode addressModeV_ = SamplerAddressMode::eRepeat, SamplerAddressMode addressModeW_ = SamplerAddressMode::eRepeat, float mipLodBias_ = 0, Bool32 anisotropyEnable_ = 0, float maxAnisotropy_ = 0, Bool32 compareEnable_ = 0, CompareOp compareOp_ = CompareOp::eNever, float minLod_ = 0, float maxLod_ = 0, BorderColor borderColor_ = BorderColor::eFloatTransparentBlack, Bool32 unnormalizedCoordinates_ = 0 )
10054  : flags( flags_ )
10055  , magFilter( magFilter_ )
10056  , minFilter( minFilter_ )
10057  , mipmapMode( mipmapMode_ )
10058  , addressModeU( addressModeU_ )
10059  , addressModeV( addressModeV_ )
10060  , addressModeW( addressModeW_ )
10061  , mipLodBias( mipLodBias_ )
10062  , anisotropyEnable( anisotropyEnable_ )
10063  , maxAnisotropy( maxAnisotropy_ )
10064  , compareEnable( compareEnable_ )
10065  , compareOp( compareOp_ )
10066  , minLod( minLod_ )
10067  , maxLod( maxLod_ )
10068  , borderColor( borderColor_ )
10069  , unnormalizedCoordinates( unnormalizedCoordinates_ )
10070  {
10071  }
10072 
10074  {
10075  memcpy( this, &rhs, sizeof( SamplerCreateInfo ) );
10076  }
10077 
10079  {
10080  memcpy( this, &rhs, sizeof( SamplerCreateInfo ) );
10081  return *this;
10082  }
10083  SamplerCreateInfo& setPNext( const void* pNext_ )
10084  {
10085  pNext = pNext_;
10086  return *this;
10087  }
10088 
10090  {
10091  flags = flags_;
10092  return *this;
10093  }
10094 
10096  {
10097  magFilter = magFilter_;
10098  return *this;
10099  }
10100 
10102  {
10103  minFilter = minFilter_;
10104  return *this;
10105  }
10106 
10108  {
10109  mipmapMode = mipmapMode_;
10110  return *this;
10111  }
10112 
10114  {
10115  addressModeU = addressModeU_;
10116  return *this;
10117  }
10118 
10120  {
10121  addressModeV = addressModeV_;
10122  return *this;
10123  }
10124 
10126  {
10127  addressModeW = addressModeW_;
10128  return *this;
10129  }
10130 
10131  SamplerCreateInfo& setMipLodBias( float mipLodBias_ )
10132  {
10133  mipLodBias = mipLodBias_;
10134  return *this;
10135  }
10136 
10138  {
10139  anisotropyEnable = anisotropyEnable_;
10140  return *this;
10141  }
10142 
10143  SamplerCreateInfo& setMaxAnisotropy( float maxAnisotropy_ )
10144  {
10145  maxAnisotropy = maxAnisotropy_;
10146  return *this;
10147  }
10148 
10150  {
10151  compareEnable = compareEnable_;
10152  return *this;
10153  }
10154 
10156  {
10157  compareOp = compareOp_;
10158  return *this;
10159  }
10160 
10161  SamplerCreateInfo& setMinLod( float minLod_ )
10162  {
10163  minLod = minLod_;
10164  return *this;
10165  }
10166 
10167  SamplerCreateInfo& setMaxLod( float maxLod_ )
10168  {
10169  maxLod = maxLod_;
10170  return *this;
10171  }
10172 
10174  {
10175  borderColor = borderColor_;
10176  return *this;
10177  }
10178 
10180  {
10181  unnormalizedCoordinates = unnormalizedCoordinates_;
10182  return *this;
10183  }
10184 
10185  operator const VkSamplerCreateInfo&() const
10186  {
10187  return *reinterpret_cast<const VkSamplerCreateInfo*>(this);
10188  }
10189 
10190  bool operator==( SamplerCreateInfo const& rhs ) const
10191  {
10192  return ( sType == rhs.sType )
10193  && ( pNext == rhs.pNext )
10194  && ( flags == rhs.flags )
10195  && ( magFilter == rhs.magFilter )
10196  && ( minFilter == rhs.minFilter )
10197  && ( mipmapMode == rhs.mipmapMode )
10198  && ( addressModeU == rhs.addressModeU )
10199  && ( addressModeV == rhs.addressModeV )
10200  && ( addressModeW == rhs.addressModeW )
10201  && ( mipLodBias == rhs.mipLodBias )
10202  && ( anisotropyEnable == rhs.anisotropyEnable )
10203  && ( maxAnisotropy == rhs.maxAnisotropy )
10204  && ( compareEnable == rhs.compareEnable )
10205  && ( compareOp == rhs.compareOp )
10206  && ( minLod == rhs.minLod )
10207  && ( maxLod == rhs.maxLod )
10208  && ( borderColor == rhs.borderColor )
10210  }
10211 
10212  bool operator!=( SamplerCreateInfo const& rhs ) const
10213  {
10214  return !operator==( rhs );
10215  }
10216 
10217  private:
10219 
10220  public:
10221  const void* pNext = nullptr;
10229  float mipLodBias;
10234  float minLod;
10235  float maxLod;
10238  };
10239  static_assert( sizeof( SamplerCreateInfo ) == sizeof( VkSamplerCreateInfo ), "struct and wrapper have different size!" );
10240 
10242  {
10244  : commandPool( commandPool_ )
10245  , level( level_ )
10246  , commandBufferCount( commandBufferCount_ )
10247  {
10248  }
10249 
10251  {
10252  memcpy( this, &rhs, sizeof( CommandBufferAllocateInfo ) );
10253  }
10254 
10256  {
10257  memcpy( this, &rhs, sizeof( CommandBufferAllocateInfo ) );
10258  return *this;
10259  }
10260  CommandBufferAllocateInfo& setPNext( const void* pNext_ )
10261  {
10262  pNext = pNext_;
10263  return *this;
10264  }
10265 
10267  {
10268  commandPool = commandPool_;
10269  return *this;
10270  }
10271 
10273  {
10274  level = level_;
10275  return *this;
10276  }
10277 
10279  {
10280  commandBufferCount = commandBufferCount_;
10281  return *this;
10282  }
10283 
10284  operator const VkCommandBufferAllocateInfo&() const
10285  {
10286  return *reinterpret_cast<const VkCommandBufferAllocateInfo*>(this);
10287  }
10288 
10289  bool operator==( CommandBufferAllocateInfo const& rhs ) const
10290  {
10291  return ( sType == rhs.sType )
10292  && ( pNext == rhs.pNext )
10293  && ( commandPool == rhs.commandPool )
10294  && ( level == rhs.level )
10295  && ( commandBufferCount == rhs.commandBufferCount );
10296  }
10297 
10298  bool operator!=( CommandBufferAllocateInfo const& rhs ) const
10299  {
10300  return !operator==( rhs );
10301  }
10302 
10303  private:
10305 
10306  public:
10307  const void* pNext = nullptr;
10311  };
10312  static_assert( sizeof( CommandBufferAllocateInfo ) == sizeof( VkCommandBufferAllocateInfo ), "struct and wrapper have different size!" );
10313 
10315  {
10316  RenderPassBeginInfo( RenderPass renderPass_ = RenderPass(), Framebuffer framebuffer_ = Framebuffer(), Rect2D renderArea_ = Rect2D(), uint32_t clearValueCount_ = 0, const ClearValue* pClearValues_ = nullptr )
10317  : renderPass( renderPass_ )
10318  , framebuffer( framebuffer_ )
10319  , renderArea( renderArea_ )
10320  , clearValueCount( clearValueCount_ )
10321  , pClearValues( pClearValues_ )
10322  {
10323  }
10324 
10326  {
10327  memcpy( this, &rhs, sizeof( RenderPassBeginInfo ) );
10328  }
10329 
10331  {
10332  memcpy( this, &rhs, sizeof( RenderPassBeginInfo ) );
10333  return *this;
10334  }
10335  RenderPassBeginInfo& setPNext( const void* pNext_ )
10336  {
10337  pNext = pNext_;
10338  return *this;
10339  }
10340 
10342  {
10343  renderPass = renderPass_;
10344  return *this;
10345  }
10346 
10348  {
10349  framebuffer = framebuffer_;
10350  return *this;
10351  }
10352 
10354  {
10355  renderArea = renderArea_;
10356  return *this;
10357  }
10358 
10360  {
10361  clearValueCount = clearValueCount_;
10362  return *this;
10363  }
10364 
10366  {
10367  pClearValues = pClearValues_;
10368  return *this;
10369  }
10370 
10371  operator const VkRenderPassBeginInfo&() const
10372  {
10373  return *reinterpret_cast<const VkRenderPassBeginInfo*>(this);
10374  }
10375 
10376  bool operator==( RenderPassBeginInfo const& rhs ) const
10377  {
10378  return ( sType == rhs.sType )
10379  && ( pNext == rhs.pNext )
10380  && ( renderPass == rhs.renderPass )
10381  && ( framebuffer == rhs.framebuffer )
10382  && ( renderArea == rhs.renderArea )
10383  && ( clearValueCount == rhs.clearValueCount )
10384  && ( pClearValues == rhs.pClearValues );
10385  }
10386 
10387  bool operator!=( RenderPassBeginInfo const& rhs ) const
10388  {
10389  return !operator==( rhs );
10390  }
10391 
10392  private:
10394 
10395  public:
10396  const void* pNext = nullptr;
10402  };
10403  static_assert( sizeof( RenderPassBeginInfo ) == sizeof( VkRenderPassBeginInfo ), "struct and wrapper have different size!" );
10404 
10406  {
10408  : flags( flags_ )
10409  {
10410  }
10411 
10413  {
10414  memcpy( this, &rhs, sizeof( EventCreateInfo ) );
10415  }
10416 
10418  {
10419  memcpy( this, &rhs, sizeof( EventCreateInfo ) );
10420  return *this;
10421  }
10422  EventCreateInfo& setPNext( const void* pNext_ )
10423  {
10424  pNext = pNext_;
10425  return *this;
10426  }
10427 
10429  {
10430  flags = flags_;
10431  return *this;
10432  }
10433 
10434  operator const VkEventCreateInfo&() const
10435  {
10436  return *reinterpret_cast<const VkEventCreateInfo*>(this);
10437  }
10438 
10439  bool operator==( EventCreateInfo const& rhs ) const
10440  {
10441  return ( sType == rhs.sType )
10442  && ( pNext == rhs.pNext )
10443  && ( flags == rhs.flags );
10444  }
10445 
10446  bool operator!=( EventCreateInfo const& rhs ) const
10447  {
10448  return !operator==( rhs );
10449  }
10450 
10451  private:
10453 
10454  public:
10455  const void* pNext = nullptr;
10457  };
10458  static_assert( sizeof( EventCreateInfo ) == sizeof( VkEventCreateInfo ), "struct and wrapper have different size!" );
10459 
10461  {
10463  : flags( flags_ )
10464  {
10465  }
10466 
10468  {
10469  memcpy( this, &rhs, sizeof( SemaphoreCreateInfo ) );
10470  }
10471 
10473  {
10474  memcpy( this, &rhs, sizeof( SemaphoreCreateInfo ) );
10475  return *this;
10476  }
10477  SemaphoreCreateInfo& setPNext( const void* pNext_ )
10478  {
10479  pNext = pNext_;
10480  return *this;
10481  }
10482 
10484  {
10485  flags = flags_;
10486  return *this;
10487  }
10488 
10489  operator const VkSemaphoreCreateInfo&() const
10490  {
10491  return *reinterpret_cast<const VkSemaphoreCreateInfo*>(this);
10492  }
10493 
10494  bool operator==( SemaphoreCreateInfo const& rhs ) const
10495  {
10496  return ( sType == rhs.sType )
10497  && ( pNext == rhs.pNext )
10498  && ( flags == rhs.flags );
10499  }
10500 
10501  bool operator!=( SemaphoreCreateInfo const& rhs ) const
10502  {
10503  return !operator==( rhs );
10504  }
10505 
10506  private:
10508 
10509  public:
10510  const void* pNext = nullptr;
10512  };
10513  static_assert( sizeof( SemaphoreCreateInfo ) == sizeof( VkSemaphoreCreateInfo ), "struct and wrapper have different size!" );
10514 
10516  {
10517  FramebufferCreateInfo( FramebufferCreateFlags flags_ = FramebufferCreateFlags(), RenderPass renderPass_ = RenderPass(), uint32_t attachmentCount_ = 0, const ImageView* pAttachments_ = nullptr, uint32_t width_ = 0, uint32_t height_ = 0, uint32_t layers_ = 0 )
10518  : flags( flags_ )
10519  , renderPass( renderPass_ )
10520  , attachmentCount( attachmentCount_ )
10521  , pAttachments( pAttachments_ )
10522  , width( width_ )
10523  , height( height_ )
10524  , layers( layers_ )
10525  {
10526  }
10527 
10529  {
10530  memcpy( this, &rhs, sizeof( FramebufferCreateInfo ) );
10531  }
10532 
10534  {
10535  memcpy( this, &rhs, sizeof( FramebufferCreateInfo ) );
10536  return *this;
10537  }
10538  FramebufferCreateInfo& setPNext( const void* pNext_ )
10539  {
10540  pNext = pNext_;
10541  return *this;
10542  }
10543 
10545  {
10546  flags = flags_;
10547  return *this;
10548  }
10549 
10551  {
10552  renderPass = renderPass_;
10553  return *this;
10554  }
10555 
10557  {
10558  attachmentCount = attachmentCount_;
10559  return *this;
10560  }
10561 
10563  {
10564  pAttachments = pAttachments_;
10565  return *this;
10566  }
10567 
10569  {
10570  width = width_;
10571  return *this;
10572  }
10573 
10575  {
10576  height = height_;
10577  return *this;
10578  }
10579 
10581  {
10582  layers = layers_;
10583  return *this;
10584  }
10585 
10586  operator const VkFramebufferCreateInfo&() const
10587  {
10588  return *reinterpret_cast<const VkFramebufferCreateInfo*>(this);
10589  }
10590 
10591  bool operator==( FramebufferCreateInfo const& rhs ) const
10592  {
10593  return ( sType == rhs.sType )
10594  && ( pNext == rhs.pNext )
10595  && ( flags == rhs.flags )
10596  && ( renderPass == rhs.renderPass )
10597  && ( attachmentCount == rhs.attachmentCount )
10598  && ( pAttachments == rhs.pAttachments )
10599  && ( width == rhs.width )
10600  && ( height == rhs.height )
10601  && ( layers == rhs.layers );
10602  }
10603 
10604  bool operator!=( FramebufferCreateInfo const& rhs ) const
10605  {
10606  return !operator==( rhs );
10607  }
10608 
10609  private:
10611 
10612  public:
10613  const void* pNext = nullptr;
10621  };
10622  static_assert( sizeof( FramebufferCreateInfo ) == sizeof( VkFramebufferCreateInfo ), "struct and wrapper have different size!" );
10623 
10625  {
10627  : flags( flags_ )
10628  , parameters( parameters_ )
10629  {
10630  }
10631 
10633  {
10634  memcpy( this, &rhs, sizeof( DisplayModeCreateInfoKHR ) );
10635  }
10636 
10638  {
10639  memcpy( this, &rhs, sizeof( DisplayModeCreateInfoKHR ) );
10640  return *this;
10641  }
10642  DisplayModeCreateInfoKHR& setPNext( const void* pNext_ )
10643  {
10644  pNext = pNext_;
10645  return *this;
10646  }
10647 
10649  {
10650  flags = flags_;
10651  return *this;
10652  }
10653 
10655  {
10656  parameters = parameters_;
10657  return *this;
10658  }
10659 
10660  operator const VkDisplayModeCreateInfoKHR&() const
10661  {
10662  return *reinterpret_cast<const VkDisplayModeCreateInfoKHR*>(this);
10663  }
10664 
10665  bool operator==( DisplayModeCreateInfoKHR const& rhs ) const
10666  {
10667  return ( sType == rhs.sType )
10668  && ( pNext == rhs.pNext )
10669  && ( flags == rhs.flags )
10670  && ( parameters == rhs.parameters );
10671  }
10672 
10673  bool operator!=( DisplayModeCreateInfoKHR const& rhs ) const
10674  {
10675  return !operator==( rhs );
10676  }
10677 
10678  private:
10680 
10681  public:
10682  const void* pNext = nullptr;
10685  };
10686  static_assert( sizeof( DisplayModeCreateInfoKHR ) == sizeof( VkDisplayModeCreateInfoKHR ), "struct and wrapper have different size!" );
10687 
10689  {
10690  DisplayPresentInfoKHR( Rect2D srcRect_ = Rect2D(), Rect2D dstRect_ = Rect2D(), Bool32 persistent_ = 0 )
10691  : srcRect( srcRect_ )
10692  , dstRect( dstRect_ )
10693  , persistent( persistent_ )
10694  {
10695  }
10696 
10698  {
10699  memcpy( this, &rhs, sizeof( DisplayPresentInfoKHR ) );
10700  }
10701 
10703  {
10704  memcpy( this, &rhs, sizeof( DisplayPresentInfoKHR ) );
10705  return *this;
10706  }
10707  DisplayPresentInfoKHR& setPNext( const void* pNext_ )
10708  {
10709  pNext = pNext_;
10710  return *this;
10711  }
10712 
10714  {
10715  srcRect = srcRect_;
10716  return *this;
10717  }
10718 
10720  {
10721  dstRect = dstRect_;
10722  return *this;
10723  }
10724 
10726  {
10727  persistent = persistent_;
10728  return *this;
10729  }
10730 
10731  operator const VkDisplayPresentInfoKHR&() const
10732  {
10733  return *reinterpret_cast<const VkDisplayPresentInfoKHR*>(this);
10734  }
10735 
10736  bool operator==( DisplayPresentInfoKHR const& rhs ) const
10737  {
10738  return ( sType == rhs.sType )
10739  && ( pNext == rhs.pNext )
10740  && ( srcRect == rhs.srcRect )
10741  && ( dstRect == rhs.dstRect )
10742  && ( persistent == rhs.persistent );
10743  }
10744 
10745  bool operator!=( DisplayPresentInfoKHR const& rhs ) const
10746  {
10747  return !operator==( rhs );
10748  }
10749 
10750  private:
10752 
10753  public:
10754  const void* pNext = nullptr;
10758  };
10759  static_assert( sizeof( DisplayPresentInfoKHR ) == sizeof( VkDisplayPresentInfoKHR ), "struct and wrapper have different size!" );
10760 
10761 #ifdef VK_USE_PLATFORM_ANDROID_KHR
10762  struct AndroidSurfaceCreateInfoKHR
10763  {
10764  AndroidSurfaceCreateInfoKHR( AndroidSurfaceCreateFlagsKHR flags_ = AndroidSurfaceCreateFlagsKHR(), struct ANativeWindow* window_ = nullptr )
10765  : flags( flags_ )
10766  , window( window_ )
10767  {
10768  }
10769 
10770  AndroidSurfaceCreateInfoKHR( VkAndroidSurfaceCreateInfoKHR const & rhs )
10771  {
10772  memcpy( this, &rhs, sizeof( AndroidSurfaceCreateInfoKHR ) );
10773  }
10774 
10775  AndroidSurfaceCreateInfoKHR& operator=( VkAndroidSurfaceCreateInfoKHR const & rhs )
10776  {
10777  memcpy( this, &rhs, sizeof( AndroidSurfaceCreateInfoKHR ) );
10778  return *this;
10779  }
10780  AndroidSurfaceCreateInfoKHR& setPNext( const void* pNext_ )
10781  {
10782  pNext = pNext_;
10783  return *this;
10784  }
10785 
10786  AndroidSurfaceCreateInfoKHR& setFlags( AndroidSurfaceCreateFlagsKHR flags_ )
10787  {
10788  flags = flags_;
10789  return *this;
10790  }
10791 
10792  AndroidSurfaceCreateInfoKHR& setWindow( struct ANativeWindow* window_ )
10793  {
10794  window = window_;
10795  return *this;
10796  }
10797 
10798  operator const VkAndroidSurfaceCreateInfoKHR&() const
10799  {
10800  return *reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR*>(this);
10801  }
10802 
10803  bool operator==( AndroidSurfaceCreateInfoKHR const& rhs ) const
10804  {
10805  return ( sType == rhs.sType )
10806  && ( pNext == rhs.pNext )
10807  && ( flags == rhs.flags )
10808  && ( window == rhs.window );
10809  }
10810 
10811  bool operator!=( AndroidSurfaceCreateInfoKHR const& rhs ) const
10812  {
10813  return !operator==( rhs );
10814  }
10815 
10816  private:
10818 
10819  public:
10820  const void* pNext = nullptr;
10821  AndroidSurfaceCreateFlagsKHR flags;
10822  struct ANativeWindow* window;
10823  };
10824  static_assert( sizeof( AndroidSurfaceCreateInfoKHR ) == sizeof( VkAndroidSurfaceCreateInfoKHR ), "struct and wrapper have different size!" );
10825 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
10826 
10827 #ifdef VK_USE_PLATFORM_MIR_KHR
10828  struct MirSurfaceCreateInfoKHR
10829  {
10830  MirSurfaceCreateInfoKHR( MirSurfaceCreateFlagsKHR flags_ = MirSurfaceCreateFlagsKHR(), MirConnection* connection_ = nullptr, MirSurface* mirSurface_ = nullptr )
10831  : flags( flags_ )
10832  , connection( connection_ )
10833  , mirSurface( mirSurface_ )
10834  {
10835  }
10836 
10837  MirSurfaceCreateInfoKHR( VkMirSurfaceCreateInfoKHR const & rhs )
10838  {
10839  memcpy( this, &rhs, sizeof( MirSurfaceCreateInfoKHR ) );
10840  }
10841 
10842  MirSurfaceCreateInfoKHR& operator=( VkMirSurfaceCreateInfoKHR const & rhs )
10843  {
10844  memcpy( this, &rhs, sizeof( MirSurfaceCreateInfoKHR ) );
10845  return *this;
10846  }
10847  MirSurfaceCreateInfoKHR& setPNext( const void* pNext_ )
10848  {
10849  pNext = pNext_;
10850  return *this;
10851  }
10852 
10853  MirSurfaceCreateInfoKHR& setFlags( MirSurfaceCreateFlagsKHR flags_ )
10854  {
10855  flags = flags_;
10856  return *this;
10857  }
10858 
10859  MirSurfaceCreateInfoKHR& setConnection( MirConnection* connection_ )
10860  {
10861  connection = connection_;
10862  return *this;
10863  }
10864 
10865  MirSurfaceCreateInfoKHR& setMirSurface( MirSurface* mirSurface_ )
10866  {
10867  mirSurface = mirSurface_;
10868  return *this;
10869  }
10870 
10871  operator const VkMirSurfaceCreateInfoKHR&() const
10872  {
10873  return *reinterpret_cast<const VkMirSurfaceCreateInfoKHR*>(this);
10874  }
10875 
10876  bool operator==( MirSurfaceCreateInfoKHR const& rhs ) const
10877  {
10878  return ( sType == rhs.sType )
10879  && ( pNext == rhs.pNext )
10880  && ( flags == rhs.flags )
10881  && ( connection == rhs.connection )
10882  && ( mirSurface == rhs.mirSurface );
10883  }
10884 
10885  bool operator!=( MirSurfaceCreateInfoKHR const& rhs ) const
10886  {
10887  return !operator==( rhs );
10888  }
10889 
10890  private:
10892 
10893  public:
10894  const void* pNext = nullptr;
10895  MirSurfaceCreateFlagsKHR flags;
10896  MirConnection* connection;
10897  MirSurface* mirSurface;
10898  };
10899  static_assert( sizeof( MirSurfaceCreateInfoKHR ) == sizeof( VkMirSurfaceCreateInfoKHR ), "struct and wrapper have different size!" );
10900 #endif /*VK_USE_PLATFORM_MIR_KHR*/
10901 
10902 #ifdef VK_USE_PLATFORM_VI_NN
10903  struct ViSurfaceCreateInfoNN
10904  {
10905  ViSurfaceCreateInfoNN( ViSurfaceCreateFlagsNN flags_ = ViSurfaceCreateFlagsNN(), void* window_ = nullptr )
10906  : flags( flags_ )
10907  , window( window_ )
10908  {
10909  }
10910 
10911  ViSurfaceCreateInfoNN( VkViSurfaceCreateInfoNN const & rhs )
10912  {
10913  memcpy( this, &rhs, sizeof( ViSurfaceCreateInfoNN ) );
10914  }
10915 
10916  ViSurfaceCreateInfoNN& operator=( VkViSurfaceCreateInfoNN const & rhs )
10917  {
10918  memcpy( this, &rhs, sizeof( ViSurfaceCreateInfoNN ) );
10919  return *this;
10920  }
10921  ViSurfaceCreateInfoNN& setPNext( const void* pNext_ )
10922  {
10923  pNext = pNext_;
10924  return *this;
10925  }
10926 
10927  ViSurfaceCreateInfoNN& setFlags( ViSurfaceCreateFlagsNN flags_ )
10928  {
10929  flags = flags_;
10930  return *this;
10931  }
10932 
10933  ViSurfaceCreateInfoNN& setWindow( void* window_ )
10934  {
10935  window = window_;
10936  return *this;
10937  }
10938 
10939  operator const VkViSurfaceCreateInfoNN&() const
10940  {
10941  return *reinterpret_cast<const VkViSurfaceCreateInfoNN*>(this);
10942  }
10943 
10944  bool operator==( ViSurfaceCreateInfoNN const& rhs ) const
10945  {
10946  return ( sType == rhs.sType )
10947  && ( pNext == rhs.pNext )
10948  && ( flags == rhs.flags )
10949  && ( window == rhs.window );
10950  }
10951 
10952  bool operator!=( ViSurfaceCreateInfoNN const& rhs ) const
10953  {
10954  return !operator==( rhs );
10955  }
10956 
10957  private:
10959 
10960  public:
10961  const void* pNext = nullptr;
10962  ViSurfaceCreateFlagsNN flags;
10963  void* window;
10964  };
10965  static_assert( sizeof( ViSurfaceCreateInfoNN ) == sizeof( VkViSurfaceCreateInfoNN ), "struct and wrapper have different size!" );
10966 #endif /*VK_USE_PLATFORM_VI_NN*/
10967 
10968 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
10969  struct WaylandSurfaceCreateInfoKHR
10970  {
10971  WaylandSurfaceCreateInfoKHR( WaylandSurfaceCreateFlagsKHR flags_ = WaylandSurfaceCreateFlagsKHR(), struct wl_display* display_ = nullptr, struct wl_surface* surface_ = nullptr )
10972  : flags( flags_ )
10973  , display( display_ )
10974  , surface( surface_ )
10975  {
10976  }
10977 
10978  WaylandSurfaceCreateInfoKHR( VkWaylandSurfaceCreateInfoKHR const & rhs )
10979  {
10980  memcpy( this, &rhs, sizeof( WaylandSurfaceCreateInfoKHR ) );
10981  }
10982 
10983  WaylandSurfaceCreateInfoKHR& operator=( VkWaylandSurfaceCreateInfoKHR const & rhs )
10984  {
10985  memcpy( this, &rhs, sizeof( WaylandSurfaceCreateInfoKHR ) );
10986  return *this;
10987  }
10988  WaylandSurfaceCreateInfoKHR& setPNext( const void* pNext_ )
10989  {
10990  pNext = pNext_;
10991  return *this;
10992  }
10993 
10994  WaylandSurfaceCreateInfoKHR& setFlags( WaylandSurfaceCreateFlagsKHR flags_ )
10995  {
10996  flags = flags_;
10997  return *this;
10998  }
10999 
11000  WaylandSurfaceCreateInfoKHR& setDisplay( struct wl_display* display_ )
11001  {
11002  display = display_;
11003  return *this;
11004  }
11005 
11006  WaylandSurfaceCreateInfoKHR& setSurface( struct wl_surface* surface_ )
11007  {
11008  surface = surface_;
11009  return *this;
11010  }
11011 
11012  operator const VkWaylandSurfaceCreateInfoKHR&() const
11013  {
11014  return *reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR*>(this);
11015  }
11016 
11017  bool operator==( WaylandSurfaceCreateInfoKHR const& rhs ) const
11018  {
11019  return ( sType == rhs.sType )
11020  && ( pNext == rhs.pNext )
11021  && ( flags == rhs.flags )
11022  && ( display == rhs.display )
11023  && ( surface == rhs.surface );
11024  }
11025 
11026  bool operator!=( WaylandSurfaceCreateInfoKHR const& rhs ) const
11027  {
11028  return !operator==( rhs );
11029  }
11030 
11031  private:
11033 
11034  public:
11035  const void* pNext = nullptr;
11036  WaylandSurfaceCreateFlagsKHR flags;
11037  struct wl_display* display;
11038  struct wl_surface* surface;
11039  };
11040  static_assert( sizeof( WaylandSurfaceCreateInfoKHR ) == sizeof( VkWaylandSurfaceCreateInfoKHR ), "struct and wrapper have different size!" );
11041 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
11042 
11043 #ifdef VK_USE_PLATFORM_WIN32_KHR
11044  struct Win32SurfaceCreateInfoKHR
11045  {
11046  Win32SurfaceCreateInfoKHR( Win32SurfaceCreateFlagsKHR flags_ = Win32SurfaceCreateFlagsKHR(), HINSTANCE hinstance_ = 0, HWND hwnd_ = 0 )
11047  : flags( flags_ )
11048  , hinstance( hinstance_ )
11049  , hwnd( hwnd_ )
11050  {
11051  }
11052 
11053  Win32SurfaceCreateInfoKHR( VkWin32SurfaceCreateInfoKHR const & rhs )
11054  {
11055  memcpy( this, &rhs, sizeof( Win32SurfaceCreateInfoKHR ) );
11056  }
11057 
11058  Win32SurfaceCreateInfoKHR& operator=( VkWin32SurfaceCreateInfoKHR const & rhs )
11059  {
11060  memcpy( this, &rhs, sizeof( Win32SurfaceCreateInfoKHR ) );
11061  return *this;
11062  }
11063  Win32SurfaceCreateInfoKHR& setPNext( const void* pNext_ )
11064  {
11065  pNext = pNext_;
11066  return *this;
11067  }
11068 
11069  Win32SurfaceCreateInfoKHR& setFlags( Win32SurfaceCreateFlagsKHR flags_ )
11070  {
11071  flags = flags_;
11072  return *this;
11073  }
11074 
11075  Win32SurfaceCreateInfoKHR& setHinstance( HINSTANCE hinstance_ )
11076  {
11077  hinstance = hinstance_;
11078  return *this;
11079  }
11080 
11081  Win32SurfaceCreateInfoKHR& setHwnd( HWND hwnd_ )
11082  {
11083  hwnd = hwnd_;
11084  return *this;
11085  }
11086 
11087  operator const VkWin32SurfaceCreateInfoKHR&() const
11088  {
11089  return *reinterpret_cast<const VkWin32SurfaceCreateInfoKHR*>(this);
11090  }
11091 
11092  bool operator==( Win32SurfaceCreateInfoKHR const& rhs ) const
11093  {
11094  return ( sType == rhs.sType )
11095  && ( pNext == rhs.pNext )
11096  && ( flags == rhs.flags )
11097  && ( hinstance == rhs.hinstance )
11098  && ( hwnd == rhs.hwnd );
11099  }
11100 
11101  bool operator!=( Win32SurfaceCreateInfoKHR const& rhs ) const
11102  {
11103  return !operator==( rhs );
11104  }
11105 
11106  private:
11108 
11109  public:
11110  const void* pNext = nullptr;
11111  Win32SurfaceCreateFlagsKHR flags;
11112  HINSTANCE hinstance;
11113  HWND hwnd;
11114  };
11115  static_assert( sizeof( Win32SurfaceCreateInfoKHR ) == sizeof( VkWin32SurfaceCreateInfoKHR ), "struct and wrapper have different size!" );
11116 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11117 
11118 #ifdef VK_USE_PLATFORM_XLIB_KHR
11119  struct XlibSurfaceCreateInfoKHR
11120  {
11121  XlibSurfaceCreateInfoKHR( XlibSurfaceCreateFlagsKHR flags_ = XlibSurfaceCreateFlagsKHR(), Display* dpy_ = nullptr, Window window_ = 0 )
11122  : flags( flags_ )
11123  , dpy( dpy_ )
11124  , window( window_ )
11125  {
11126  }
11127 
11128  XlibSurfaceCreateInfoKHR( VkXlibSurfaceCreateInfoKHR const & rhs )
11129  {
11130  memcpy( this, &rhs, sizeof( XlibSurfaceCreateInfoKHR ) );
11131  }
11132 
11133  XlibSurfaceCreateInfoKHR& operator=( VkXlibSurfaceCreateInfoKHR const & rhs )
11134  {
11135  memcpy( this, &rhs, sizeof( XlibSurfaceCreateInfoKHR ) );
11136  return *this;
11137  }
11138  XlibSurfaceCreateInfoKHR& setPNext( const void* pNext_ )
11139  {
11140  pNext = pNext_;
11141  return *this;
11142  }
11143 
11144  XlibSurfaceCreateInfoKHR& setFlags( XlibSurfaceCreateFlagsKHR flags_ )
11145  {
11146  flags = flags_;
11147  return *this;
11148  }
11149 
11150  XlibSurfaceCreateInfoKHR& setDpy( Display* dpy_ )
11151  {
11152  dpy = dpy_;
11153  return *this;
11154  }
11155 
11156  XlibSurfaceCreateInfoKHR& setWindow( Window window_ )
11157  {
11158  window = window_;
11159  return *this;
11160  }
11161 
11162  operator const VkXlibSurfaceCreateInfoKHR&() const
11163  {
11164  return *reinterpret_cast<const VkXlibSurfaceCreateInfoKHR*>(this);
11165  }
11166 
11167  bool operator==( XlibSurfaceCreateInfoKHR const& rhs ) const
11168  {
11169  return ( sType == rhs.sType )
11170  && ( pNext == rhs.pNext )
11171  && ( flags == rhs.flags )
11172  && ( dpy == rhs.dpy )
11173  && ( window == rhs.window );
11174  }
11175 
11176  bool operator!=( XlibSurfaceCreateInfoKHR const& rhs ) const
11177  {
11178  return !operator==( rhs );
11179  }
11180 
11181  private:
11183 
11184  public:
11185  const void* pNext = nullptr;
11186  XlibSurfaceCreateFlagsKHR flags;
11187  Display* dpy;
11188  Window window;
11189  };
11190  static_assert( sizeof( XlibSurfaceCreateInfoKHR ) == sizeof( VkXlibSurfaceCreateInfoKHR ), "struct and wrapper have different size!" );
11191 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
11192 
11193 #ifdef VK_USE_PLATFORM_XCB_KHR
11194  struct XcbSurfaceCreateInfoKHR
11195  {
11196  XcbSurfaceCreateInfoKHR( XcbSurfaceCreateFlagsKHR flags_ = XcbSurfaceCreateFlagsKHR(), xcb_connection_t* connection_ = nullptr, xcb_window_t window_ = 0 )
11197  : flags( flags_ )
11198  , connection( connection_ )
11199  , window( window_ )
11200  {
11201  }
11202 
11203  XcbSurfaceCreateInfoKHR( VkXcbSurfaceCreateInfoKHR const & rhs )
11204  {
11205  memcpy( this, &rhs, sizeof( XcbSurfaceCreateInfoKHR ) );
11206  }
11207 
11208  XcbSurfaceCreateInfoKHR& operator=( VkXcbSurfaceCreateInfoKHR const & rhs )
11209  {
11210  memcpy( this, &rhs, sizeof( XcbSurfaceCreateInfoKHR ) );
11211  return *this;
11212  }
11213  XcbSurfaceCreateInfoKHR& setPNext( const void* pNext_ )
11214  {
11215  pNext = pNext_;
11216  return *this;
11217  }
11218 
11219  XcbSurfaceCreateInfoKHR& setFlags( XcbSurfaceCreateFlagsKHR flags_ )
11220  {
11221  flags = flags_;
11222  return *this;
11223  }
11224 
11225  XcbSurfaceCreateInfoKHR& setConnection( xcb_connection_t* connection_ )
11226  {
11227  connection = connection_;
11228  return *this;
11229  }
11230 
11231  XcbSurfaceCreateInfoKHR& setWindow( xcb_window_t window_ )
11232  {
11233  window = window_;
11234  return *this;
11235  }
11236 
11237  operator const VkXcbSurfaceCreateInfoKHR&() const
11238  {
11239  return *reinterpret_cast<const VkXcbSurfaceCreateInfoKHR*>(this);
11240  }
11241 
11242  bool operator==( XcbSurfaceCreateInfoKHR const& rhs ) const
11243  {
11244  return ( sType == rhs.sType )
11245  && ( pNext == rhs.pNext )
11246  && ( flags == rhs.flags )
11247  && ( connection == rhs.connection )
11248  && ( window == rhs.window );
11249  }
11250 
11251  bool operator!=( XcbSurfaceCreateInfoKHR const& rhs ) const
11252  {
11253  return !operator==( rhs );
11254  }
11255 
11256  private:
11258 
11259  public:
11260  const void* pNext = nullptr;
11261  XcbSurfaceCreateFlagsKHR flags;
11262  xcb_connection_t* connection;
11263  xcb_window_t window;
11264  };
11265  static_assert( sizeof( XcbSurfaceCreateInfoKHR ) == sizeof( VkXcbSurfaceCreateInfoKHR ), "struct and wrapper have different size!" );
11266 #endif /*VK_USE_PLATFORM_XCB_KHR*/
11267 
11269  {
11270  DebugMarkerMarkerInfoEXT( const char* pMarkerName_ = nullptr, std::array<float,4> const& color_ = { { 0, 0, 0, 0 } } )
11271  : pMarkerName( pMarkerName_ )
11272  {
11273  memcpy( &color, color_.data(), 4 * sizeof( float ) );
11274  }
11275 
11277  {
11278  memcpy( this, &rhs, sizeof( DebugMarkerMarkerInfoEXT ) );
11279  }
11280 
11282  {
11283  memcpy( this, &rhs, sizeof( DebugMarkerMarkerInfoEXT ) );
11284  return *this;
11285  }
11286  DebugMarkerMarkerInfoEXT& setPNext( const void* pNext_ )
11287  {
11288  pNext = pNext_;
11289  return *this;
11290  }
11291 
11292  DebugMarkerMarkerInfoEXT& setPMarkerName( const char* pMarkerName_ )
11293  {
11294  pMarkerName = pMarkerName_;
11295  return *this;
11296  }
11297 
11298  DebugMarkerMarkerInfoEXT& setColor( std::array<float,4> color_ )
11299  {
11300  memcpy( &color, color_.data(), 4 * sizeof( float ) );
11301  return *this;
11302  }
11303 
11304  operator const VkDebugMarkerMarkerInfoEXT&() const
11305  {
11306  return *reinterpret_cast<const VkDebugMarkerMarkerInfoEXT*>(this);
11307  }
11308 
11309  bool operator==( DebugMarkerMarkerInfoEXT const& rhs ) const
11310  {
11311  return ( sType == rhs.sType )
11312  && ( pNext == rhs.pNext )
11313  && ( pMarkerName == rhs.pMarkerName )
11314  && ( memcmp( color, rhs.color, 4 * sizeof( float ) ) == 0 );
11315  }
11316 
11317  bool operator!=( DebugMarkerMarkerInfoEXT const& rhs ) const
11318  {
11319  return !operator==( rhs );
11320  }
11321 
11322  private:
11324 
11325  public:
11326  const void* pNext = nullptr;
11327  const char* pMarkerName;
11328  float color[4];
11329  };
11330  static_assert( sizeof( DebugMarkerMarkerInfoEXT ) == sizeof( VkDebugMarkerMarkerInfoEXT ), "struct and wrapper have different size!" );
11331 
11333  {
11334  DedicatedAllocationImageCreateInfoNV( Bool32 dedicatedAllocation_ = 0 )
11335  : dedicatedAllocation( dedicatedAllocation_ )
11336  {
11337  }
11338 
11340  {
11341  memcpy( this, &rhs, sizeof( DedicatedAllocationImageCreateInfoNV ) );
11342  }
11343 
11345  {
11346  memcpy( this, &rhs, sizeof( DedicatedAllocationImageCreateInfoNV ) );
11347  return *this;
11348  }
11350  {
11351  pNext = pNext_;
11352  return *this;
11353  }
11354 
11356  {
11357  dedicatedAllocation = dedicatedAllocation_;
11358  return *this;
11359  }
11360 
11362  {
11363  return *reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(this);
11364  }
11365 
11367  {
11368  return ( sType == rhs.sType )
11369  && ( pNext == rhs.pNext )
11371  }
11372 
11374  {
11375  return !operator==( rhs );
11376  }
11377 
11378  private:
11380 
11381  public:
11382  const void* pNext = nullptr;
11384  };
11385  static_assert( sizeof( DedicatedAllocationImageCreateInfoNV ) == sizeof( VkDedicatedAllocationImageCreateInfoNV ), "struct and wrapper have different size!" );
11386 
11388  {
11389  DedicatedAllocationBufferCreateInfoNV( Bool32 dedicatedAllocation_ = 0 )
11390  : dedicatedAllocation( dedicatedAllocation_ )
11391  {
11392  }
11393 
11395  {
11396  memcpy( this, &rhs, sizeof( DedicatedAllocationBufferCreateInfoNV ) );
11397  }
11398 
11400  {
11401  memcpy( this, &rhs, sizeof( DedicatedAllocationBufferCreateInfoNV ) );
11402  return *this;
11403  }
11405  {
11406  pNext = pNext_;
11407  return *this;
11408  }
11409 
11411  {
11412  dedicatedAllocation = dedicatedAllocation_;
11413  return *this;
11414  }
11415 
11417  {
11418  return *reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(this);
11419  }
11420 
11422  {
11423  return ( sType == rhs.sType )
11424  && ( pNext == rhs.pNext )
11426  }
11427 
11429  {
11430  return !operator==( rhs );
11431  }
11432 
11433  private:
11435 
11436  public:
11437  const void* pNext = nullptr;
11439  };
11440  static_assert( sizeof( DedicatedAllocationBufferCreateInfoNV ) == sizeof( VkDedicatedAllocationBufferCreateInfoNV ), "struct and wrapper have different size!" );
11441 
11443  {
11445  : image( image_ )
11446  , buffer( buffer_ )
11447  {
11448  }
11449 
11451  {
11452  memcpy( this, &rhs, sizeof( DedicatedAllocationMemoryAllocateInfoNV ) );
11453  }
11454 
11456  {
11457  memcpy( this, &rhs, sizeof( DedicatedAllocationMemoryAllocateInfoNV ) );
11458  return *this;
11459  }
11461  {
11462  pNext = pNext_;
11463  return *this;
11464  }
11465 
11467  {
11468  image = image_;
11469  return *this;
11470  }
11471 
11473  {
11474  buffer = buffer_;
11475  return *this;
11476  }
11477 
11479  {
11480  return *reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(this);
11481  }
11482 
11484  {
11485  return ( sType == rhs.sType )
11486  && ( pNext == rhs.pNext )
11487  && ( image == rhs.image )
11488  && ( buffer == rhs.buffer );
11489  }
11490 
11492  {
11493  return !operator==( rhs );
11494  }
11495 
11496  private:
11498 
11499  public:
11500  const void* pNext = nullptr;
11503  };
11504  static_assert( sizeof( DedicatedAllocationMemoryAllocateInfoNV ) == sizeof( VkDedicatedAllocationMemoryAllocateInfoNV ), "struct and wrapper have different size!" );
11505 
11506 #ifdef VK_USE_PLATFORM_WIN32_NV
11507  struct ExportMemoryWin32HandleInfoNV
11508  {
11509  ExportMemoryWin32HandleInfoNV( const SECURITY_ATTRIBUTES* pAttributes_ = nullptr, DWORD dwAccess_ = 0 )
11510  : pAttributes( pAttributes_ )
11511  , dwAccess( dwAccess_ )
11512  {
11513  }
11514 
11515  ExportMemoryWin32HandleInfoNV( VkExportMemoryWin32HandleInfoNV const & rhs )
11516  {
11517  memcpy( this, &rhs, sizeof( ExportMemoryWin32HandleInfoNV ) );
11518  }
11519 
11520  ExportMemoryWin32HandleInfoNV& operator=( VkExportMemoryWin32HandleInfoNV const & rhs )
11521  {
11522  memcpy( this, &rhs, sizeof( ExportMemoryWin32HandleInfoNV ) );
11523  return *this;
11524  }
11525  ExportMemoryWin32HandleInfoNV& setPNext( const void* pNext_ )
11526  {
11527  pNext = pNext_;
11528  return *this;
11529  }
11530 
11531  ExportMemoryWin32HandleInfoNV& setPAttributes( const SECURITY_ATTRIBUTES* pAttributes_ )
11532  {
11533  pAttributes = pAttributes_;
11534  return *this;
11535  }
11536 
11537  ExportMemoryWin32HandleInfoNV& setDwAccess( DWORD dwAccess_ )
11538  {
11539  dwAccess = dwAccess_;
11540  return *this;
11541  }
11542 
11543  operator const VkExportMemoryWin32HandleInfoNV&() const
11544  {
11545  return *reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(this);
11546  }
11547 
11548  bool operator==( ExportMemoryWin32HandleInfoNV const& rhs ) const
11549  {
11550  return ( sType == rhs.sType )
11551  && ( pNext == rhs.pNext )
11552  && ( pAttributes == rhs.pAttributes )
11553  && ( dwAccess == rhs.dwAccess );
11554  }
11555 
11556  bool operator!=( ExportMemoryWin32HandleInfoNV const& rhs ) const
11557  {
11558  return !operator==( rhs );
11559  }
11560 
11561  private:
11563 
11564  public:
11565  const void* pNext = nullptr;
11566  const SECURITY_ATTRIBUTES* pAttributes;
11567  DWORD dwAccess;
11568  };
11569  static_assert( sizeof( ExportMemoryWin32HandleInfoNV ) == sizeof( VkExportMemoryWin32HandleInfoNV ), "struct and wrapper have different size!" );
11570 #endif /*VK_USE_PLATFORM_WIN32_NV*/
11571 
11572 #ifdef VK_USE_PLATFORM_WIN32_NV
11573  struct Win32KeyedMutexAcquireReleaseInfoNV
11574  {
11575  Win32KeyedMutexAcquireReleaseInfoNV( uint32_t acquireCount_ = 0, const DeviceMemory* pAcquireSyncs_ = nullptr, const uint64_t* pAcquireKeys_ = nullptr, const uint32_t* pAcquireTimeoutMilliseconds_ = nullptr, uint32_t releaseCount_ = 0, const DeviceMemory* pReleaseSyncs_ = nullptr, const uint64_t* pReleaseKeys_ = nullptr )
11576  : acquireCount( acquireCount_ )
11577  , pAcquireSyncs( pAcquireSyncs_ )
11578  , pAcquireKeys( pAcquireKeys_ )
11579  , pAcquireTimeoutMilliseconds( pAcquireTimeoutMilliseconds_ )
11580  , releaseCount( releaseCount_ )
11581  , pReleaseSyncs( pReleaseSyncs_ )
11582  , pReleaseKeys( pReleaseKeys_ )
11583  {
11584  }
11585 
11586  Win32KeyedMutexAcquireReleaseInfoNV( VkWin32KeyedMutexAcquireReleaseInfoNV const & rhs )
11587  {
11588  memcpy( this, &rhs, sizeof( Win32KeyedMutexAcquireReleaseInfoNV ) );
11589  }
11590 
11591  Win32KeyedMutexAcquireReleaseInfoNV& operator=( VkWin32KeyedMutexAcquireReleaseInfoNV const & rhs )
11592  {
11593  memcpy( this, &rhs, sizeof( Win32KeyedMutexAcquireReleaseInfoNV ) );
11594  return *this;
11595  }
11596  Win32KeyedMutexAcquireReleaseInfoNV& setPNext( const void* pNext_ )
11597  {
11598  pNext = pNext_;
11599  return *this;
11600  }
11601 
11602  Win32KeyedMutexAcquireReleaseInfoNV& setAcquireCount( uint32_t acquireCount_ )
11603  {
11604  acquireCount = acquireCount_;
11605  return *this;
11606  }
11607 
11608  Win32KeyedMutexAcquireReleaseInfoNV& setPAcquireSyncs( const DeviceMemory* pAcquireSyncs_ )
11609  {
11610  pAcquireSyncs = pAcquireSyncs_;
11611  return *this;
11612  }
11613 
11614  Win32KeyedMutexAcquireReleaseInfoNV& setPAcquireKeys( const uint64_t* pAcquireKeys_ )
11615  {
11616  pAcquireKeys = pAcquireKeys_;
11617  return *this;
11618  }
11619 
11620  Win32KeyedMutexAcquireReleaseInfoNV& setPAcquireTimeoutMilliseconds( const uint32_t* pAcquireTimeoutMilliseconds_ )
11621  {
11622  pAcquireTimeoutMilliseconds = pAcquireTimeoutMilliseconds_;
11623  return *this;
11624  }
11625 
11626  Win32KeyedMutexAcquireReleaseInfoNV& setReleaseCount( uint32_t releaseCount_ )
11627  {
11628  releaseCount = releaseCount_;
11629  return *this;
11630  }
11631 
11632  Win32KeyedMutexAcquireReleaseInfoNV& setPReleaseSyncs( const DeviceMemory* pReleaseSyncs_ )
11633  {
11634  pReleaseSyncs = pReleaseSyncs_;
11635  return *this;
11636  }
11637 
11638  Win32KeyedMutexAcquireReleaseInfoNV& setPReleaseKeys( const uint64_t* pReleaseKeys_ )
11639  {
11640  pReleaseKeys = pReleaseKeys_;
11641  return *this;
11642  }
11643 
11644  operator const VkWin32KeyedMutexAcquireReleaseInfoNV&() const
11645  {
11646  return *reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(this);
11647  }
11648 
11649  bool operator==( Win32KeyedMutexAcquireReleaseInfoNV const& rhs ) const
11650  {
11651  return ( sType == rhs.sType )
11652  && ( pNext == rhs.pNext )
11653  && ( acquireCount == rhs.acquireCount )
11654  && ( pAcquireSyncs == rhs.pAcquireSyncs )
11655  && ( pAcquireKeys == rhs.pAcquireKeys )
11656  && ( pAcquireTimeoutMilliseconds == rhs.pAcquireTimeoutMilliseconds )
11657  && ( releaseCount == rhs.releaseCount )
11658  && ( pReleaseSyncs == rhs.pReleaseSyncs )
11659  && ( pReleaseKeys == rhs.pReleaseKeys );
11660  }
11661 
11662  bool operator!=( Win32KeyedMutexAcquireReleaseInfoNV const& rhs ) const
11663  {
11664  return !operator==( rhs );
11665  }
11666 
11667  private:
11669 
11670  public:
11671  const void* pNext = nullptr;
11672  uint32_t acquireCount;
11673  const DeviceMemory* pAcquireSyncs;
11674  const uint64_t* pAcquireKeys;
11675  const uint32_t* pAcquireTimeoutMilliseconds;
11676  uint32_t releaseCount;
11677  const DeviceMemory* pReleaseSyncs;
11678  const uint64_t* pReleaseKeys;
11679  };
11680  static_assert( sizeof( Win32KeyedMutexAcquireReleaseInfoNV ) == sizeof( VkWin32KeyedMutexAcquireReleaseInfoNV ), "struct and wrapper have different size!" );
11681 #endif /*VK_USE_PLATFORM_WIN32_NV*/
11682 
11684  {
11685  DeviceGeneratedCommandsFeaturesNVX( Bool32 computeBindingPointSupport_ = 0 )
11686  : computeBindingPointSupport( computeBindingPointSupport_ )
11687  {
11688  }
11689 
11691  {
11692  memcpy( this, &rhs, sizeof( DeviceGeneratedCommandsFeaturesNVX ) );
11693  }
11694 
11696  {
11697  memcpy( this, &rhs, sizeof( DeviceGeneratedCommandsFeaturesNVX ) );
11698  return *this;
11699  }
11701  {
11702  pNext = pNext_;
11703  return *this;
11704  }
11705 
11707  {
11708  computeBindingPointSupport = computeBindingPointSupport_;
11709  return *this;
11710  }
11711 
11713  {
11714  return *reinterpret_cast<const VkDeviceGeneratedCommandsFeaturesNVX*>(this);
11715  }
11716 
11718  {
11719  return ( sType == rhs.sType )
11720  && ( pNext == rhs.pNext )
11722  }
11723 
11725  {
11726  return !operator==( rhs );
11727  }
11728 
11729  private:
11731 
11732  public:
11733  const void* pNext = nullptr;
11735  };
11736  static_assert( sizeof( DeviceGeneratedCommandsFeaturesNVX ) == sizeof( VkDeviceGeneratedCommandsFeaturesNVX ), "struct and wrapper have different size!" );
11737 
11739  {
11740  DeviceGeneratedCommandsLimitsNVX( uint32_t maxIndirectCommandsLayoutTokenCount_ = 0, uint32_t maxObjectEntryCounts_ = 0, uint32_t minSequenceCountBufferOffsetAlignment_ = 0, uint32_t minSequenceIndexBufferOffsetAlignment_ = 0, uint32_t minCommandsTokenBufferOffsetAlignment_ = 0 )
11741  : maxIndirectCommandsLayoutTokenCount( maxIndirectCommandsLayoutTokenCount_ )
11742  , maxObjectEntryCounts( maxObjectEntryCounts_ )
11743  , minSequenceCountBufferOffsetAlignment( minSequenceCountBufferOffsetAlignment_ )
11744  , minSequenceIndexBufferOffsetAlignment( minSequenceIndexBufferOffsetAlignment_ )
11745  , minCommandsTokenBufferOffsetAlignment( minCommandsTokenBufferOffsetAlignment_ )
11746  {
11747  }
11748 
11750  {
11751  memcpy( this, &rhs, sizeof( DeviceGeneratedCommandsLimitsNVX ) );
11752  }
11753 
11755  {
11756  memcpy( this, &rhs, sizeof( DeviceGeneratedCommandsLimitsNVX ) );
11757  return *this;
11758  }
11760  {
11761  pNext = pNext_;
11762  return *this;
11763  }
11764 
11766  {
11767  maxIndirectCommandsLayoutTokenCount = maxIndirectCommandsLayoutTokenCount_;
11768  return *this;
11769  }
11770 
11772  {
11773  maxObjectEntryCounts = maxObjectEntryCounts_;
11774  return *this;
11775  }
11776 
11778  {
11779  minSequenceCountBufferOffsetAlignment = minSequenceCountBufferOffsetAlignment_;
11780  return *this;
11781  }
11782 
11784  {
11785  minSequenceIndexBufferOffsetAlignment = minSequenceIndexBufferOffsetAlignment_;
11786  return *this;
11787  }
11788 
11790  {
11791  minCommandsTokenBufferOffsetAlignment = minCommandsTokenBufferOffsetAlignment_;
11792  return *this;
11793  }
11794 
11795  operator const VkDeviceGeneratedCommandsLimitsNVX&() const
11796  {
11797  return *reinterpret_cast<const VkDeviceGeneratedCommandsLimitsNVX*>(this);
11798  }
11799 
11801  {
11802  return ( sType == rhs.sType )
11803  && ( pNext == rhs.pNext )
11809  }
11810 
11812  {
11813  return !operator==( rhs );
11814  }
11815 
11816  private:
11818 
11819  public:
11820  const void* pNext = nullptr;
11826  };
11827  static_assert( sizeof( DeviceGeneratedCommandsLimitsNVX ) == sizeof( VkDeviceGeneratedCommandsLimitsNVX ), "struct and wrapper have different size!" );
11828 
11830  {
11832  : objectTable( objectTable_ )
11833  , indirectCommandsLayout( indirectCommandsLayout_ )
11834  , maxSequencesCount( maxSequencesCount_ )
11835  {
11836  }
11837 
11839  {
11840  memcpy( this, &rhs, sizeof( CmdReserveSpaceForCommandsInfoNVX ) );
11841  }
11842 
11844  {
11845  memcpy( this, &rhs, sizeof( CmdReserveSpaceForCommandsInfoNVX ) );
11846  return *this;
11847  }
11849  {
11850  pNext = pNext_;
11851  return *this;
11852  }
11853 
11855  {
11856  objectTable = objectTable_;
11857  return *this;
11858  }
11859 
11861  {
11862  indirectCommandsLayout = indirectCommandsLayout_;
11863  return *this;
11864  }
11865 
11867  {
11868  maxSequencesCount = maxSequencesCount_;
11869  return *this;
11870  }
11871 
11872  operator const VkCmdReserveSpaceForCommandsInfoNVX&() const
11873  {
11874  return *reinterpret_cast<const VkCmdReserveSpaceForCommandsInfoNVX*>(this);
11875  }
11876 
11878  {
11879  return ( sType == rhs.sType )
11880  && ( pNext == rhs.pNext )
11881  && ( objectTable == rhs.objectTable )
11883  && ( maxSequencesCount == rhs.maxSequencesCount );
11884  }
11885 
11887  {
11888  return !operator==( rhs );
11889  }
11890 
11891  private:
11893 
11894  public:
11895  const void* pNext = nullptr;
11899  };
11900  static_assert( sizeof( CmdReserveSpaceForCommandsInfoNVX ) == sizeof( VkCmdReserveSpaceForCommandsInfoNVX ), "struct and wrapper have different size!" );
11901 
11903  {
11905  : features( features_ )
11906  {
11907  }
11908 
11910  {
11911  memcpy( this, &rhs, sizeof( PhysicalDeviceFeatures2 ) );
11912  }
11913 
11915  {
11916  memcpy( this, &rhs, sizeof( PhysicalDeviceFeatures2 ) );
11917  return *this;
11918  }
11920  {
11921  pNext = pNext_;
11922  return *this;
11923  }
11924 
11926  {
11927  features = features_;
11928  return *this;
11929  }
11930 
11931  operator const VkPhysicalDeviceFeatures2&() const
11932  {
11933  return *reinterpret_cast<const VkPhysicalDeviceFeatures2*>(this);
11934  }
11935 
11936  bool operator==( PhysicalDeviceFeatures2 const& rhs ) const
11937  {
11938  return ( sType == rhs.sType )
11939  && ( pNext == rhs.pNext )
11940  && ( features == rhs.features );
11941  }
11942 
11943  bool operator!=( PhysicalDeviceFeatures2 const& rhs ) const
11944  {
11945  return !operator==( rhs );
11946  }
11947 
11948  private:
11950 
11951  public:
11952  void* pNext = nullptr;
11954  };
11955  static_assert( sizeof( PhysicalDeviceFeatures2 ) == sizeof( VkPhysicalDeviceFeatures2 ), "struct and wrapper have different size!" );
11956 
11958 
11960  {
11962  : maxPushDescriptors( maxPushDescriptors_ )
11963  {
11964  }
11965 
11967  {
11968  memcpy( this, &rhs, sizeof( PhysicalDevicePushDescriptorPropertiesKHR ) );
11969  }
11970 
11972  {
11973  memcpy( this, &rhs, sizeof( PhysicalDevicePushDescriptorPropertiesKHR ) );
11974  return *this;
11975  }
11977  {
11978  pNext = pNext_;
11979  return *this;
11980  }
11981 
11983  {
11984  maxPushDescriptors = maxPushDescriptors_;
11985  return *this;
11986  }
11987 
11989  {
11990  return *reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(this);
11991  }
11992 
11994  {
11995  return ( sType == rhs.sType )
11996  && ( pNext == rhs.pNext )
11997  && ( maxPushDescriptors == rhs.maxPushDescriptors );
11998  }
11999 
12001  {
12002  return !operator==( rhs );
12003  }
12004 
12005  private:
12007 
12008  public:
12009  void* pNext = nullptr;
12011  };
12012  static_assert( sizeof( PhysicalDevicePushDescriptorPropertiesKHR ) == sizeof( VkPhysicalDevicePushDescriptorPropertiesKHR ), "struct and wrapper have different size!" );
12013 
12015  {
12016  PresentRegionsKHR( uint32_t swapchainCount_ = 0, const PresentRegionKHR* pRegions_ = nullptr )
12017  : swapchainCount( swapchainCount_ )
12018  , pRegions( pRegions_ )
12019  {
12020  }
12021 
12023  {
12024  memcpy( this, &rhs, sizeof( PresentRegionsKHR ) );
12025  }
12026 
12028  {
12029  memcpy( this, &rhs, sizeof( PresentRegionsKHR ) );
12030  return *this;
12031  }
12032  PresentRegionsKHR& setPNext( const void* pNext_ )
12033  {
12034  pNext = pNext_;
12035  return *this;
12036  }
12037 
12039  {
12040  swapchainCount = swapchainCount_;
12041  return *this;
12042  }
12043 
12045  {
12046  pRegions = pRegions_;
12047  return *this;
12048  }
12049 
12050  operator const VkPresentRegionsKHR&() const
12051  {
12052  return *reinterpret_cast<const VkPresentRegionsKHR*>(this);
12053  }
12054 
12055  bool operator==( PresentRegionsKHR const& rhs ) const
12056  {
12057  return ( sType == rhs.sType )
12058  && ( pNext == rhs.pNext )
12059  && ( swapchainCount == rhs.swapchainCount )
12060  && ( pRegions == rhs.pRegions );
12061  }
12062 
12063  bool operator!=( PresentRegionsKHR const& rhs ) const
12064  {
12065  return !operator==( rhs );
12066  }
12067 
12068  private:
12070 
12071  public:
12072  const void* pNext = nullptr;
12075  };
12076  static_assert( sizeof( PresentRegionsKHR ) == sizeof( VkPresentRegionsKHR ), "struct and wrapper have different size!" );
12077 
12079  {
12080  PhysicalDeviceVariablePointerFeatures( Bool32 variablePointersStorageBuffer_ = 0, Bool32 variablePointers_ = 0 )
12081  : variablePointersStorageBuffer( variablePointersStorageBuffer_ )
12082  , variablePointers( variablePointers_ )
12083  {
12084  }
12085 
12087  {
12088  memcpy( this, &rhs, sizeof( PhysicalDeviceVariablePointerFeatures ) );
12089  }
12090 
12092  {
12093  memcpy( this, &rhs, sizeof( PhysicalDeviceVariablePointerFeatures ) );
12094  return *this;
12095  }
12097  {
12098  pNext = pNext_;
12099  return *this;
12100  }
12101 
12103  {
12104  variablePointersStorageBuffer = variablePointersStorageBuffer_;
12105  return *this;
12106  }
12107 
12109  {
12110  variablePointers = variablePointers_;
12111  return *this;
12112  }
12113 
12115  {
12116  return *reinterpret_cast<const VkPhysicalDeviceVariablePointerFeatures*>(this);
12117  }
12118 
12120  {
12121  return ( sType == rhs.sType )
12122  && ( pNext == rhs.pNext )
12124  && ( variablePointers == rhs.variablePointers );
12125  }
12126 
12128  {
12129  return !operator==( rhs );
12130  }
12131 
12132  private:
12134 
12135  public:
12136  void* pNext = nullptr;
12139  };
12140  static_assert( sizeof( PhysicalDeviceVariablePointerFeatures ) == sizeof( VkPhysicalDeviceVariablePointerFeatures ), "struct and wrapper have different size!" );
12141 
12143 
12145  {
12146  operator const VkPhysicalDeviceIDProperties&() const
12147  {
12148  return *reinterpret_cast<const VkPhysicalDeviceIDProperties*>(this);
12149  }
12150 
12151  bool operator==( PhysicalDeviceIDProperties const& rhs ) const
12152  {
12153  return ( sType == rhs.sType )
12154  && ( pNext == rhs.pNext )
12155  && ( memcmp( deviceUUID, rhs.deviceUUID, VK_UUID_SIZE * sizeof( uint8_t ) ) == 0 )
12156  && ( memcmp( driverUUID, rhs.driverUUID, VK_UUID_SIZE * sizeof( uint8_t ) ) == 0 )
12157  && ( memcmp( deviceLUID, rhs.deviceLUID, VK_LUID_SIZE * sizeof( uint8_t ) ) == 0 )
12158  && ( deviceNodeMask == rhs.deviceNodeMask )
12159  && ( deviceLUIDValid == rhs.deviceLUIDValid );
12160  }
12161 
12162  bool operator!=( PhysicalDeviceIDProperties const& rhs ) const
12163  {
12164  return !operator==( rhs );
12165  }
12166 
12167  private:
12169 
12170  public:
12171  void* pNext = nullptr;
12177  };
12178  static_assert( sizeof( PhysicalDeviceIDProperties ) == sizeof( VkPhysicalDeviceIDProperties ), "struct and wrapper have different size!" );
12179 
12181 
12182 #ifdef VK_USE_PLATFORM_WIN32_KHR
12183  struct ExportMemoryWin32HandleInfoKHR
12184  {
12185  ExportMemoryWin32HandleInfoKHR( const SECURITY_ATTRIBUTES* pAttributes_ = nullptr, DWORD dwAccess_ = 0, LPCWSTR name_ = 0 )
12186  : pAttributes( pAttributes_ )
12187  , dwAccess( dwAccess_ )
12188  , name( name_ )
12189  {
12190  }
12191 
12192  ExportMemoryWin32HandleInfoKHR( VkExportMemoryWin32HandleInfoKHR const & rhs )
12193  {
12194  memcpy( this, &rhs, sizeof( ExportMemoryWin32HandleInfoKHR ) );
12195  }
12196 
12197  ExportMemoryWin32HandleInfoKHR& operator=( VkExportMemoryWin32HandleInfoKHR const & rhs )
12198  {
12199  memcpy( this, &rhs, sizeof( ExportMemoryWin32HandleInfoKHR ) );
12200  return *this;
12201  }
12202  ExportMemoryWin32HandleInfoKHR& setPNext( const void* pNext_ )
12203  {
12204  pNext = pNext_;
12205  return *this;
12206  }
12207 
12208  ExportMemoryWin32HandleInfoKHR& setPAttributes( const SECURITY_ATTRIBUTES* pAttributes_ )
12209  {
12210  pAttributes = pAttributes_;
12211  return *this;
12212  }
12213 
12214  ExportMemoryWin32HandleInfoKHR& setDwAccess( DWORD dwAccess_ )
12215  {
12216  dwAccess = dwAccess_;
12217  return *this;
12218  }
12219 
12220  ExportMemoryWin32HandleInfoKHR& setName( LPCWSTR name_ )
12221  {
12222  name = name_;
12223  return *this;
12224  }
12225 
12226  operator const VkExportMemoryWin32HandleInfoKHR&() const
12227  {
12228  return *reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(this);
12229  }
12230 
12231  bool operator==( ExportMemoryWin32HandleInfoKHR const& rhs ) const
12232  {
12233  return ( sType == rhs.sType )
12234  && ( pNext == rhs.pNext )
12235  && ( pAttributes == rhs.pAttributes )
12236  && ( dwAccess == rhs.dwAccess )
12237  && ( name == rhs.name );
12238  }
12239 
12240  bool operator!=( ExportMemoryWin32HandleInfoKHR const& rhs ) const
12241  {
12242  return !operator==( rhs );
12243  }
12244 
12245  private:
12247 
12248  public:
12249  const void* pNext = nullptr;
12250  const SECURITY_ATTRIBUTES* pAttributes;
12251  DWORD dwAccess;
12252  LPCWSTR name;
12253  };
12254  static_assert( sizeof( ExportMemoryWin32HandleInfoKHR ) == sizeof( VkExportMemoryWin32HandleInfoKHR ), "struct and wrapper have different size!" );
12255 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12256 
12257 #ifdef VK_USE_PLATFORM_WIN32_KHR
12258  struct MemoryWin32HandlePropertiesKHR
12259  {
12260  operator const VkMemoryWin32HandlePropertiesKHR&() const
12261  {
12262  return *reinterpret_cast<const VkMemoryWin32HandlePropertiesKHR*>(this);
12263  }
12264 
12265  bool operator==( MemoryWin32HandlePropertiesKHR const& rhs ) const
12266  {
12267  return ( sType == rhs.sType )
12268  && ( pNext == rhs.pNext )
12269  && ( memoryTypeBits == rhs.memoryTypeBits );
12270  }
12271 
12272  bool operator!=( MemoryWin32HandlePropertiesKHR const& rhs ) const
12273  {
12274  return !operator==( rhs );
12275  }
12276 
12277  private:
12279 
12280  public:
12281  void* pNext = nullptr;
12282  uint32_t memoryTypeBits;
12283  };
12284  static_assert( sizeof( MemoryWin32HandlePropertiesKHR ) == sizeof( VkMemoryWin32HandlePropertiesKHR ), "struct and wrapper have different size!" );
12285 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12286 
12288  {
12289  operator const VkMemoryFdPropertiesKHR&() const
12290  {
12291  return *reinterpret_cast<const VkMemoryFdPropertiesKHR*>(this);
12292  }
12293 
12294  bool operator==( MemoryFdPropertiesKHR const& rhs ) const
12295  {
12296  return ( sType == rhs.sType )
12297  && ( pNext == rhs.pNext )
12298  && ( memoryTypeBits == rhs.memoryTypeBits );
12299  }
12300 
12301  bool operator!=( MemoryFdPropertiesKHR const& rhs ) const
12302  {
12303  return !operator==( rhs );
12304  }
12305 
12306  private:
12308 
12309  public:
12310  void* pNext = nullptr;
12312  };
12313  static_assert( sizeof( MemoryFdPropertiesKHR ) == sizeof( VkMemoryFdPropertiesKHR ), "struct and wrapper have different size!" );
12314 
12315 #ifdef VK_USE_PLATFORM_WIN32_KHR
12316  struct Win32KeyedMutexAcquireReleaseInfoKHR
12317  {
12318  Win32KeyedMutexAcquireReleaseInfoKHR( uint32_t acquireCount_ = 0, const DeviceMemory* pAcquireSyncs_ = nullptr, const uint64_t* pAcquireKeys_ = nullptr, const uint32_t* pAcquireTimeouts_ = nullptr, uint32_t releaseCount_ = 0, const DeviceMemory* pReleaseSyncs_ = nullptr, const uint64_t* pReleaseKeys_ = nullptr )
12319  : acquireCount( acquireCount_ )
12320  , pAcquireSyncs( pAcquireSyncs_ )
12321  , pAcquireKeys( pAcquireKeys_ )
12322  , pAcquireTimeouts( pAcquireTimeouts_ )
12323  , releaseCount( releaseCount_ )
12324  , pReleaseSyncs( pReleaseSyncs_ )
12325  , pReleaseKeys( pReleaseKeys_ )
12326  {
12327  }
12328 
12329  Win32KeyedMutexAcquireReleaseInfoKHR( VkWin32KeyedMutexAcquireReleaseInfoKHR const & rhs )
12330  {
12331  memcpy( this, &rhs, sizeof( Win32KeyedMutexAcquireReleaseInfoKHR ) );
12332  }
12333 
12334  Win32KeyedMutexAcquireReleaseInfoKHR& operator=( VkWin32KeyedMutexAcquireReleaseInfoKHR const & rhs )
12335  {
12336  memcpy( this, &rhs, sizeof( Win32KeyedMutexAcquireReleaseInfoKHR ) );
12337  return *this;
12338  }
12339  Win32KeyedMutexAcquireReleaseInfoKHR& setPNext( const void* pNext_ )
12340  {
12341  pNext = pNext_;
12342  return *this;
12343  }
12344 
12345  Win32KeyedMutexAcquireReleaseInfoKHR& setAcquireCount( uint32_t acquireCount_ )
12346  {
12347  acquireCount = acquireCount_;
12348  return *this;
12349  }
12350 
12351  Win32KeyedMutexAcquireReleaseInfoKHR& setPAcquireSyncs( const DeviceMemory* pAcquireSyncs_ )
12352  {
12353  pAcquireSyncs = pAcquireSyncs_;
12354  return *this;
12355  }
12356 
12357  Win32KeyedMutexAcquireReleaseInfoKHR& setPAcquireKeys( const uint64_t* pAcquireKeys_ )
12358  {
12359  pAcquireKeys = pAcquireKeys_;
12360  return *this;
12361  }
12362 
12363  Win32KeyedMutexAcquireReleaseInfoKHR& setPAcquireTimeouts( const uint32_t* pAcquireTimeouts_ )
12364  {
12365  pAcquireTimeouts = pAcquireTimeouts_;
12366  return *this;
12367  }
12368 
12369  Win32KeyedMutexAcquireReleaseInfoKHR& setReleaseCount( uint32_t releaseCount_ )
12370  {
12371  releaseCount = releaseCount_;
12372  return *this;
12373  }
12374 
12375  Win32KeyedMutexAcquireReleaseInfoKHR& setPReleaseSyncs( const DeviceMemory* pReleaseSyncs_ )
12376  {
12377  pReleaseSyncs = pReleaseSyncs_;
12378  return *this;
12379  }
12380 
12381  Win32KeyedMutexAcquireReleaseInfoKHR& setPReleaseKeys( const uint64_t* pReleaseKeys_ )
12382  {
12383  pReleaseKeys = pReleaseKeys_;
12384  return *this;
12385  }
12386 
12387  operator const VkWin32KeyedMutexAcquireReleaseInfoKHR&() const
12388  {
12389  return *reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(this);
12390  }
12391 
12392  bool operator==( Win32KeyedMutexAcquireReleaseInfoKHR const& rhs ) const
12393  {
12394  return ( sType == rhs.sType )
12395  && ( pNext == rhs.pNext )
12396  && ( acquireCount == rhs.acquireCount )
12397  && ( pAcquireSyncs == rhs.pAcquireSyncs )
12398  && ( pAcquireKeys == rhs.pAcquireKeys )
12399  && ( pAcquireTimeouts == rhs.pAcquireTimeouts )
12400  && ( releaseCount == rhs.releaseCount )
12401  && ( pReleaseSyncs == rhs.pReleaseSyncs )
12402  && ( pReleaseKeys == rhs.pReleaseKeys );
12403  }
12404 
12405  bool operator!=( Win32KeyedMutexAcquireReleaseInfoKHR const& rhs ) const
12406  {
12407  return !operator==( rhs );
12408  }
12409 
12410  private:
12412 
12413  public:
12414  const void* pNext = nullptr;
12415  uint32_t acquireCount;
12416  const DeviceMemory* pAcquireSyncs;
12417  const uint64_t* pAcquireKeys;
12418  const uint32_t* pAcquireTimeouts;
12419  uint32_t releaseCount;
12420  const DeviceMemory* pReleaseSyncs;
12421  const uint64_t* pReleaseKeys;
12422  };
12423  static_assert( sizeof( Win32KeyedMutexAcquireReleaseInfoKHR ) == sizeof( VkWin32KeyedMutexAcquireReleaseInfoKHR ), "struct and wrapper have different size!" );
12424 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12425 
12426 #ifdef VK_USE_PLATFORM_WIN32_KHR
12427  struct ExportSemaphoreWin32HandleInfoKHR
12428  {
12429  ExportSemaphoreWin32HandleInfoKHR( const SECURITY_ATTRIBUTES* pAttributes_ = nullptr, DWORD dwAccess_ = 0, LPCWSTR name_ = 0 )
12430  : pAttributes( pAttributes_ )
12431  , dwAccess( dwAccess_ )
12432  , name( name_ )
12433  {
12434  }
12435 
12436  ExportSemaphoreWin32HandleInfoKHR( VkExportSemaphoreWin32HandleInfoKHR const & rhs )
12437  {
12438  memcpy( this, &rhs, sizeof( ExportSemaphoreWin32HandleInfoKHR ) );
12439  }
12440 
12441  ExportSemaphoreWin32HandleInfoKHR& operator=( VkExportSemaphoreWin32HandleInfoKHR const & rhs )
12442  {
12443  memcpy( this, &rhs, sizeof( ExportSemaphoreWin32HandleInfoKHR ) );
12444  return *this;
12445  }
12446  ExportSemaphoreWin32HandleInfoKHR& setPNext( const void* pNext_ )
12447  {
12448  pNext = pNext_;
12449  return *this;
12450  }
12451 
12452  ExportSemaphoreWin32HandleInfoKHR& setPAttributes( const SECURITY_ATTRIBUTES* pAttributes_ )
12453  {
12454  pAttributes = pAttributes_;
12455  return *this;
12456  }
12457 
12458  ExportSemaphoreWin32HandleInfoKHR& setDwAccess( DWORD dwAccess_ )
12459  {
12460  dwAccess = dwAccess_;
12461  return *this;
12462  }
12463 
12464  ExportSemaphoreWin32HandleInfoKHR& setName( LPCWSTR name_ )
12465  {
12466  name = name_;
12467  return *this;
12468  }
12469 
12470  operator const VkExportSemaphoreWin32HandleInfoKHR&() const
12471  {
12472  return *reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(this);
12473  }
12474 
12475  bool operator==( ExportSemaphoreWin32HandleInfoKHR const& rhs ) const
12476  {
12477  return ( sType == rhs.sType )
12478  && ( pNext == rhs.pNext )
12479  && ( pAttributes == rhs.pAttributes )
12480  && ( dwAccess == rhs.dwAccess )
12481  && ( name == rhs.name );
12482  }
12483 
12484  bool operator!=( ExportSemaphoreWin32HandleInfoKHR const& rhs ) const
12485  {
12486  return !operator==( rhs );
12487  }
12488 
12489  private:
12491 
12492  public:
12493  const void* pNext = nullptr;
12494  const SECURITY_ATTRIBUTES* pAttributes;
12495  DWORD dwAccess;
12496  LPCWSTR name;
12497  };
12498  static_assert( sizeof( ExportSemaphoreWin32HandleInfoKHR ) == sizeof( VkExportSemaphoreWin32HandleInfoKHR ), "struct and wrapper have different size!" );
12499 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12500 
12501 #ifdef VK_USE_PLATFORM_WIN32_KHR
12502  struct D3D12FenceSubmitInfoKHR
12503  {
12504  D3D12FenceSubmitInfoKHR( uint32_t waitSemaphoreValuesCount_ = 0, const uint64_t* pWaitSemaphoreValues_ = nullptr, uint32_t signalSemaphoreValuesCount_ = 0, const uint64_t* pSignalSemaphoreValues_ = nullptr )
12505  : waitSemaphoreValuesCount( waitSemaphoreValuesCount_ )
12506  , pWaitSemaphoreValues( pWaitSemaphoreValues_ )
12507  , signalSemaphoreValuesCount( signalSemaphoreValuesCount_ )
12508  , pSignalSemaphoreValues( pSignalSemaphoreValues_ )
12509  {
12510  }
12511 
12512  D3D12FenceSubmitInfoKHR( VkD3D12FenceSubmitInfoKHR const & rhs )
12513  {
12514  memcpy( this, &rhs, sizeof( D3D12FenceSubmitInfoKHR ) );
12515  }
12516 
12517  D3D12FenceSubmitInfoKHR& operator=( VkD3D12FenceSubmitInfoKHR const & rhs )
12518  {
12519  memcpy( this, &rhs, sizeof( D3D12FenceSubmitInfoKHR ) );
12520  return *this;
12521  }
12522  D3D12FenceSubmitInfoKHR& setPNext( const void* pNext_ )
12523  {
12524  pNext = pNext_;
12525  return *this;
12526  }
12527 
12528  D3D12FenceSubmitInfoKHR& setWaitSemaphoreValuesCount( uint32_t waitSemaphoreValuesCount_ )
12529  {
12530  waitSemaphoreValuesCount = waitSemaphoreValuesCount_;
12531  return *this;
12532  }
12533 
12534  D3D12FenceSubmitInfoKHR& setPWaitSemaphoreValues( const uint64_t* pWaitSemaphoreValues_ )
12535  {
12536  pWaitSemaphoreValues = pWaitSemaphoreValues_;
12537  return *this;
12538  }
12539 
12540  D3D12FenceSubmitInfoKHR& setSignalSemaphoreValuesCount( uint32_t signalSemaphoreValuesCount_ )
12541  {
12542  signalSemaphoreValuesCount = signalSemaphoreValuesCount_;
12543  return *this;
12544  }
12545 
12546  D3D12FenceSubmitInfoKHR& setPSignalSemaphoreValues( const uint64_t* pSignalSemaphoreValues_ )
12547  {
12548  pSignalSemaphoreValues = pSignalSemaphoreValues_;
12549  return *this;
12550  }
12551 
12552  operator const VkD3D12FenceSubmitInfoKHR&() const
12553  {
12554  return *reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(this);
12555  }
12556 
12557  bool operator==( D3D12FenceSubmitInfoKHR const& rhs ) const
12558  {
12559  return ( sType == rhs.sType )
12560  && ( pNext == rhs.pNext )
12561  && ( waitSemaphoreValuesCount == rhs.waitSemaphoreValuesCount )
12562  && ( pWaitSemaphoreValues == rhs.pWaitSemaphoreValues )
12563  && ( signalSemaphoreValuesCount == rhs.signalSemaphoreValuesCount )
12564  && ( pSignalSemaphoreValues == rhs.pSignalSemaphoreValues );
12565  }
12566 
12567  bool operator!=( D3D12FenceSubmitInfoKHR const& rhs ) const
12568  {
12569  return !operator==( rhs );
12570  }
12571 
12572  private:
12574 
12575  public:
12576  const void* pNext = nullptr;
12577  uint32_t waitSemaphoreValuesCount;
12578  const uint64_t* pWaitSemaphoreValues;
12579  uint32_t signalSemaphoreValuesCount;
12580  const uint64_t* pSignalSemaphoreValues;
12581  };
12582  static_assert( sizeof( D3D12FenceSubmitInfoKHR ) == sizeof( VkD3D12FenceSubmitInfoKHR ), "struct and wrapper have different size!" );
12583 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12584 
12585 #ifdef VK_USE_PLATFORM_WIN32_KHR
12586  struct ExportFenceWin32HandleInfoKHR
12587  {
12588  ExportFenceWin32HandleInfoKHR( const SECURITY_ATTRIBUTES* pAttributes_ = nullptr, DWORD dwAccess_ = 0, LPCWSTR name_ = 0 )
12589  : pAttributes( pAttributes_ )
12590  , dwAccess( dwAccess_ )
12591  , name( name_ )
12592  {
12593  }
12594 
12595  ExportFenceWin32HandleInfoKHR( VkExportFenceWin32HandleInfoKHR const & rhs )
12596  {
12597  memcpy( this, &rhs, sizeof( ExportFenceWin32HandleInfoKHR ) );
12598  }
12599 
12600  ExportFenceWin32HandleInfoKHR& operator=( VkExportFenceWin32HandleInfoKHR const & rhs )
12601  {
12602  memcpy( this, &rhs, sizeof( ExportFenceWin32HandleInfoKHR ) );
12603  return *this;
12604  }
12605  ExportFenceWin32HandleInfoKHR& setPNext( const void* pNext_ )
12606  {
12607  pNext = pNext_;
12608  return *this;
12609  }
12610 
12611  ExportFenceWin32HandleInfoKHR& setPAttributes( const SECURITY_ATTRIBUTES* pAttributes_ )
12612  {
12613  pAttributes = pAttributes_;
12614  return *this;
12615  }
12616 
12617  ExportFenceWin32HandleInfoKHR& setDwAccess( DWORD dwAccess_ )
12618  {
12619  dwAccess = dwAccess_;
12620  return *this;
12621  }
12622 
12623  ExportFenceWin32HandleInfoKHR& setName( LPCWSTR name_ )
12624  {
12625  name = name_;
12626  return *this;
12627  }
12628 
12629  operator const VkExportFenceWin32HandleInfoKHR&() const
12630  {
12631  return *reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(this);
12632  }
12633 
12634  bool operator==( ExportFenceWin32HandleInfoKHR const& rhs ) const
12635  {
12636  return ( sType == rhs.sType )
12637  && ( pNext == rhs.pNext )
12638  && ( pAttributes == rhs.pAttributes )
12639  && ( dwAccess == rhs.dwAccess )
12640  && ( name == rhs.name );
12641  }
12642 
12643  bool operator!=( ExportFenceWin32HandleInfoKHR const& rhs ) const
12644  {
12645  return !operator==( rhs );
12646  }
12647 
12648  private:
12650 
12651  public:
12652  const void* pNext = nullptr;
12653  const SECURITY_ATTRIBUTES* pAttributes;
12654  DWORD dwAccess;
12655  LPCWSTR name;
12656  };
12657  static_assert( sizeof( ExportFenceWin32HandleInfoKHR ) == sizeof( VkExportFenceWin32HandleInfoKHR ), "struct and wrapper have different size!" );
12658 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12659 
12661  {
12662  PhysicalDeviceMultiviewFeatures( Bool32 multiview_ = 0, Bool32 multiviewGeometryShader_ = 0, Bool32 multiviewTessellationShader_ = 0 )
12663  : multiview( multiview_ )
12664  , multiviewGeometryShader( multiviewGeometryShader_ )
12665  , multiviewTessellationShader( multiviewTessellationShader_ )
12666  {
12667  }
12668 
12670  {
12671  memcpy( this, &rhs, sizeof( PhysicalDeviceMultiviewFeatures ) );
12672  }
12673 
12675  {
12676  memcpy( this, &rhs, sizeof( PhysicalDeviceMultiviewFeatures ) );
12677  return *this;
12678  }
12680  {
12681  pNext = pNext_;
12682  return *this;
12683  }
12684 
12686  {
12687  multiview = multiview_;
12688  return *this;
12689  }
12690 
12692  {
12693  multiviewGeometryShader = multiviewGeometryShader_;
12694  return *this;
12695  }
12696 
12698  {
12699  multiviewTessellationShader = multiviewTessellationShader_;
12700  return *this;
12701  }
12702 
12703  operator const VkPhysicalDeviceMultiviewFeatures&() const
12704  {
12705  return *reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(this);
12706  }
12707 
12709  {
12710  return ( sType == rhs.sType )
12711  && ( pNext == rhs.pNext )
12712  && ( multiview == rhs.multiview )
12715  }
12716 
12718  {
12719  return !operator==( rhs );
12720  }
12721 
12722  private:
12724 
12725  public:
12726  void* pNext = nullptr;
12730  };
12731  static_assert( sizeof( PhysicalDeviceMultiviewFeatures ) == sizeof( VkPhysicalDeviceMultiviewFeatures ), "struct and wrapper have different size!" );
12732 
12734 
12736  {
12737  operator const VkPhysicalDeviceMultiviewProperties&() const
12738  {
12739  return *reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(this);
12740  }
12741 
12743  {
12744  return ( sType == rhs.sType )
12745  && ( pNext == rhs.pNext )
12748  }
12749 
12751  {
12752  return !operator==( rhs );
12753  }
12754 
12755  private:
12757 
12758  public:
12759  void* pNext = nullptr;
12762  };
12763  static_assert( sizeof( PhysicalDeviceMultiviewProperties ) == sizeof( VkPhysicalDeviceMultiviewProperties ), "struct and wrapper have different size!" );
12764 
12766 
12768  {
12769  RenderPassMultiviewCreateInfo( uint32_t subpassCount_ = 0, const uint32_t* pViewMasks_ = nullptr, uint32_t dependencyCount_ = 0, const int32_t* pViewOffsets_ = nullptr, uint32_t correlationMaskCount_ = 0, const uint32_t* pCorrelationMasks_ = nullptr )
12770  : subpassCount( subpassCount_ )
12771  , pViewMasks( pViewMasks_ )
12772  , dependencyCount( dependencyCount_ )
12773  , pViewOffsets( pViewOffsets_ )
12774  , correlationMaskCount( correlationMaskCount_ )
12775  , pCorrelationMasks( pCorrelationMasks_ )
12776  {
12777  }
12778 
12780  {
12781  memcpy( this, &rhs, sizeof( RenderPassMultiviewCreateInfo ) );
12782  }
12783 
12785  {
12786  memcpy( this, &rhs, sizeof( RenderPassMultiviewCreateInfo ) );
12787  return *this;
12788  }
12790  {
12791  pNext = pNext_;
12792  return *this;
12793  }
12794 
12796  {
12797  subpassCount = subpassCount_;
12798  return *this;
12799  }
12800 
12802  {
12803  pViewMasks = pViewMasks_;
12804  return *this;
12805  }
12806 
12808  {
12809  dependencyCount = dependencyCount_;
12810  return *this;
12811  }
12812 
12814  {
12815  pViewOffsets = pViewOffsets_;
12816  return *this;
12817  }
12818 
12820  {
12821  correlationMaskCount = correlationMaskCount_;
12822  return *this;
12823  }
12824 
12826  {
12827  pCorrelationMasks = pCorrelationMasks_;
12828  return *this;
12829  }
12830 
12831  operator const VkRenderPassMultiviewCreateInfo&() const
12832  {
12833  return *reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(this);
12834  }
12835 
12837  {
12838  return ( sType == rhs.sType )
12839  && ( pNext == rhs.pNext )
12840  && ( subpassCount == rhs.subpassCount )
12841  && ( pViewMasks == rhs.pViewMasks )
12842  && ( dependencyCount == rhs.dependencyCount )
12843  && ( pViewOffsets == rhs.pViewOffsets )
12845  && ( pCorrelationMasks == rhs.pCorrelationMasks );
12846  }
12847 
12849  {
12850  return !operator==( rhs );
12851  }
12852 
12853  private:
12855 
12856  public:
12857  const void* pNext = nullptr;
12864  };
12865  static_assert( sizeof( RenderPassMultiviewCreateInfo ) == sizeof( VkRenderPassMultiviewCreateInfo ), "struct and wrapper have different size!" );
12866 
12868 
12870  {
12871  BindBufferMemoryInfo( Buffer buffer_ = Buffer(), DeviceMemory memory_ = DeviceMemory(), DeviceSize memoryOffset_ = 0 )
12872  : buffer( buffer_ )
12873  , memory( memory_ )
12874  , memoryOffset( memoryOffset_ )
12875  {
12876  }
12877 
12879  {
12880  memcpy( this, &rhs, sizeof( BindBufferMemoryInfo ) );
12881  }
12882 
12884  {
12885  memcpy( this, &rhs, sizeof( BindBufferMemoryInfo ) );
12886  return *this;
12887  }
12888  BindBufferMemoryInfo& setPNext( const void* pNext_ )
12889  {
12890  pNext = pNext_;
12891  return *this;
12892  }
12893 
12895  {
12896  buffer = buffer_;
12897  return *this;
12898  }
12899 
12901  {
12902  memory = memory_;
12903  return *this;
12904  }
12905 
12907  {
12908  memoryOffset = memoryOffset_;
12909  return *this;
12910  }
12911 
12912  operator const VkBindBufferMemoryInfo&() const
12913  {
12914  return *reinterpret_cast<const VkBindBufferMemoryInfo*>(this);
12915  }
12916 
12917  bool operator==( BindBufferMemoryInfo const& rhs ) const
12918  {
12919  return ( sType == rhs.sType )
12920  && ( pNext == rhs.pNext )
12921  && ( buffer == rhs.buffer )
12922  && ( memory == rhs.memory )
12923  && ( memoryOffset == rhs.memoryOffset );
12924  }
12925 
12926  bool operator!=( BindBufferMemoryInfo const& rhs ) const
12927  {
12928  return !operator==( rhs );
12929  }
12930 
12931  private:
12933 
12934  public:
12935  const void* pNext = nullptr;
12939  };
12940  static_assert( sizeof( BindBufferMemoryInfo ) == sizeof( VkBindBufferMemoryInfo ), "struct and wrapper have different size!" );
12941 
12943 
12945  {
12946  BindBufferMemoryDeviceGroupInfo( uint32_t deviceIndexCount_ = 0, const uint32_t* pDeviceIndices_ = nullptr )
12947  : deviceIndexCount( deviceIndexCount_ )
12948  , pDeviceIndices( pDeviceIndices_ )
12949  {
12950  }
12951 
12953  {
12954  memcpy( this, &rhs, sizeof( BindBufferMemoryDeviceGroupInfo ) );
12955  }
12956 
12958  {
12959  memcpy( this, &rhs, sizeof( BindBufferMemoryDeviceGroupInfo ) );
12960  return *this;
12961  }
12963  {
12964  pNext = pNext_;
12965  return *this;
12966  }
12967 
12969  {
12970  deviceIndexCount = deviceIndexCount_;
12971  return *this;
12972  }
12973 
12975  {
12976  pDeviceIndices = pDeviceIndices_;
12977  return *this;
12978  }
12979 
12980  operator const VkBindBufferMemoryDeviceGroupInfo&() const
12981  {
12982  return *reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(this);
12983  }
12984 
12986  {
12987  return ( sType == rhs.sType )
12988  && ( pNext == rhs.pNext )
12989  && ( deviceIndexCount == rhs.deviceIndexCount )
12990  && ( pDeviceIndices == rhs.pDeviceIndices );
12991  }
12992 
12994  {
12995  return !operator==( rhs );
12996  }
12997 
12998  private:
13000 
13001  public:
13002  const void* pNext = nullptr;
13005  };
13006  static_assert( sizeof( BindBufferMemoryDeviceGroupInfo ) == sizeof( VkBindBufferMemoryDeviceGroupInfo ), "struct and wrapper have different size!" );
13007 
13009 
13011  {
13012  BindImageMemoryInfo( Image image_ = Image(), DeviceMemory memory_ = DeviceMemory(), DeviceSize memoryOffset_ = 0 )
13013  : image( image_ )
13014  , memory( memory_ )
13015  , memoryOffset( memoryOffset_ )
13016  {
13017  }
13018 
13020  {
13021  memcpy( this, &rhs, sizeof( BindImageMemoryInfo ) );
13022  }
13023 
13025  {
13026  memcpy( this, &rhs, sizeof( BindImageMemoryInfo ) );
13027  return *this;
13028  }
13029  BindImageMemoryInfo& setPNext( const void* pNext_ )
13030  {
13031  pNext = pNext_;
13032  return *this;
13033  }
13034 
13036  {
13037  image = image_;
13038  return *this;
13039  }
13040 
13042  {
13043  memory = memory_;
13044  return *this;
13045  }
13046 
13048  {
13049  memoryOffset = memoryOffset_;
13050  return *this;
13051  }
13052 
13053  operator const VkBindImageMemoryInfo&() const
13054  {
13055  return *reinterpret_cast<const VkBindImageMemoryInfo*>(this);
13056  }
13057 
13058  bool operator==( BindImageMemoryInfo const& rhs ) const
13059  {
13060  return ( sType == rhs.sType )
13061  && ( pNext == rhs.pNext )
13062  && ( image == rhs.image )
13063  && ( memory == rhs.memory )
13064  && ( memoryOffset == rhs.memoryOffset );
13065  }
13066 
13067  bool operator!=( BindImageMemoryInfo const& rhs ) const
13068  {
13069  return !operator==( rhs );
13070  }
13071 
13072  private:
13074 
13075  public:
13076  const void* pNext = nullptr;
13080  };
13081  static_assert( sizeof( BindImageMemoryInfo ) == sizeof( VkBindImageMemoryInfo ), "struct and wrapper have different size!" );
13082 
13084 
13086  {
13087  BindImageMemoryDeviceGroupInfo( uint32_t deviceIndexCount_ = 0, const uint32_t* pDeviceIndices_ = nullptr, uint32_t splitInstanceBindRegionCount_ = 0, const Rect2D* pSplitInstanceBindRegions_ = nullptr )
13088  : deviceIndexCount( deviceIndexCount_ )
13089  , pDeviceIndices( pDeviceIndices_ )
13090  , splitInstanceBindRegionCount( splitInstanceBindRegionCount_ )
13091  , pSplitInstanceBindRegions( pSplitInstanceBindRegions_ )
13092  {
13093  }
13094 
13096  {
13097  memcpy( this, &rhs, sizeof( BindImageMemoryDeviceGroupInfo ) );
13098  }
13099 
13101  {
13102  memcpy( this, &rhs, sizeof( BindImageMemoryDeviceGroupInfo ) );
13103  return *this;
13104  }
13106  {
13107  pNext = pNext_;
13108  return *this;
13109  }
13110 
13112  {
13113  deviceIndexCount = deviceIndexCount_;
13114  return *this;
13115  }
13116 
13118  {
13119  pDeviceIndices = pDeviceIndices_;
13120  return *this;
13121  }
13122 
13124  {
13125  splitInstanceBindRegionCount = splitInstanceBindRegionCount_;
13126  return *this;
13127  }
13128 
13130  {
13131  pSplitInstanceBindRegions = pSplitInstanceBindRegions_;
13132  return *this;
13133  }
13134 
13135  operator const VkBindImageMemoryDeviceGroupInfo&() const
13136  {
13137  return *reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(this);
13138  }
13139 
13141  {
13142  return ( sType == rhs.sType )
13143  && ( pNext == rhs.pNext )
13144  && ( deviceIndexCount == rhs.deviceIndexCount )
13145  && ( pDeviceIndices == rhs.pDeviceIndices )
13148  }
13149 
13151  {
13152  return !operator==( rhs );
13153  }
13154 
13155  private:
13157 
13158  public:
13159  const void* pNext = nullptr;
13164  };
13165  static_assert( sizeof( BindImageMemoryDeviceGroupInfo ) == sizeof( VkBindImageMemoryDeviceGroupInfo ), "struct and wrapper have different size!" );
13166 
13168 
13170  {
13171  DeviceGroupRenderPassBeginInfo( uint32_t deviceMask_ = 0, uint32_t deviceRenderAreaCount_ = 0, const Rect2D* pDeviceRenderAreas_ = nullptr )
13172  : deviceMask( deviceMask_ )
13173  , deviceRenderAreaCount( deviceRenderAreaCount_ )
13174  , pDeviceRenderAreas( pDeviceRenderAreas_ )
13175  {
13176  }
13177 
13179  {
13180  memcpy( this, &rhs, sizeof( DeviceGroupRenderPassBeginInfo ) );
13181  }
13182 
13184  {
13185  memcpy( this, &rhs, sizeof( DeviceGroupRenderPassBeginInfo ) );
13186  return *this;
13187  }
13189  {
13190  pNext = pNext_;
13191  return *this;
13192  }
13193 
13195  {
13196  deviceMask = deviceMask_;
13197  return *this;
13198  }
13199 
13201  {
13202  deviceRenderAreaCount = deviceRenderAreaCount_;
13203  return *this;
13204  }
13205 
13207  {
13208  pDeviceRenderAreas = pDeviceRenderAreas_;
13209  return *this;
13210  }
13211 
13212  operator const VkDeviceGroupRenderPassBeginInfo&() const
13213  {
13214  return *reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(this);
13215  }
13216 
13218  {
13219  return ( sType == rhs.sType )
13220  && ( pNext == rhs.pNext )
13221  && ( deviceMask == rhs.deviceMask )
13223  && ( pDeviceRenderAreas == rhs.pDeviceRenderAreas );
13224  }
13225 
13227  {
13228  return !operator==( rhs );
13229  }
13230 
13231  private:
13233 
13234  public:
13235  const void* pNext = nullptr;
13239  };
13240  static_assert( sizeof( DeviceGroupRenderPassBeginInfo ) == sizeof( VkDeviceGroupRenderPassBeginInfo ), "struct and wrapper have different size!" );
13241 
13243 
13245  {
13247  : deviceMask( deviceMask_ )
13248  {
13249  }
13250 
13252  {
13253  memcpy( this, &rhs, sizeof( DeviceGroupCommandBufferBeginInfo ) );
13254  }
13255 
13257  {
13258  memcpy( this, &rhs, sizeof( DeviceGroupCommandBufferBeginInfo ) );
13259  return *this;
13260  }
13262  {
13263  pNext = pNext_;
13264  return *this;
13265  }
13266 
13268  {
13269  deviceMask = deviceMask_;
13270  return *this;
13271  }
13272 
13273  operator const VkDeviceGroupCommandBufferBeginInfo&() const
13274  {
13275  return *reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(this);
13276  }
13277 
13279  {
13280  return ( sType == rhs.sType )
13281  && ( pNext == rhs.pNext )
13282  && ( deviceMask == rhs.deviceMask );
13283  }
13284 
13286  {
13287  return !operator==( rhs );
13288  }
13289 
13290  private:
13292 
13293  public:
13294  const void* pNext = nullptr;
13296  };
13297  static_assert( sizeof( DeviceGroupCommandBufferBeginInfo ) == sizeof( VkDeviceGroupCommandBufferBeginInfo ), "struct and wrapper have different size!" );
13298 
13300 
13302  {
13303  DeviceGroupSubmitInfo( uint32_t waitSemaphoreCount_ = 0, const uint32_t* pWaitSemaphoreDeviceIndices_ = nullptr, uint32_t commandBufferCount_ = 0, const uint32_t* pCommandBufferDeviceMasks_ = nullptr, uint32_t signalSemaphoreCount_ = 0, const uint32_t* pSignalSemaphoreDeviceIndices_ = nullptr )
13304  : waitSemaphoreCount( waitSemaphoreCount_ )
13305  , pWaitSemaphoreDeviceIndices( pWaitSemaphoreDeviceIndices_ )
13306  , commandBufferCount( commandBufferCount_ )
13307  , pCommandBufferDeviceMasks( pCommandBufferDeviceMasks_ )
13308  , signalSemaphoreCount( signalSemaphoreCount_ )
13309  , pSignalSemaphoreDeviceIndices( pSignalSemaphoreDeviceIndices_ )
13310  {
13311  }
13312 
13314  {
13315  memcpy( this, &rhs, sizeof( DeviceGroupSubmitInfo ) );
13316  }
13317 
13319  {
13320  memcpy( this, &rhs, sizeof( DeviceGroupSubmitInfo ) );
13321  return *this;
13322  }
13323  DeviceGroupSubmitInfo& setPNext( const void* pNext_ )
13324  {
13325  pNext = pNext_;
13326  return *this;
13327  }
13328 
13330  {
13331  waitSemaphoreCount = waitSemaphoreCount_;
13332  return *this;
13333  }
13334 
13335  DeviceGroupSubmitInfo& setPWaitSemaphoreDeviceIndices( const uint32_t* pWaitSemaphoreDeviceIndices_ )
13336  {
13337  pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices_;
13338  return *this;
13339  }
13340 
13342  {
13343  commandBufferCount = commandBufferCount_;
13344  return *this;
13345  }
13346 
13347  DeviceGroupSubmitInfo& setPCommandBufferDeviceMasks( const uint32_t* pCommandBufferDeviceMasks_ )
13348  {
13349  pCommandBufferDeviceMasks = pCommandBufferDeviceMasks_;
13350  return *this;
13351  }
13352 
13354  {
13355  signalSemaphoreCount = signalSemaphoreCount_;
13356  return *this;
13357  }
13358 
13359  DeviceGroupSubmitInfo& setPSignalSemaphoreDeviceIndices( const uint32_t* pSignalSemaphoreDeviceIndices_ )
13360  {
13361  pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices_;
13362  return *this;
13363  }
13364 
13365  operator const VkDeviceGroupSubmitInfo&() const
13366  {
13367  return *reinterpret_cast<const VkDeviceGroupSubmitInfo*>(this);
13368  }
13369 
13370  bool operator==( DeviceGroupSubmitInfo const& rhs ) const
13371  {
13372  return ( sType == rhs.sType )
13373  && ( pNext == rhs.pNext )
13380  }
13381 
13382  bool operator!=( DeviceGroupSubmitInfo const& rhs ) const
13383  {
13384  return !operator==( rhs );
13385  }
13386 
13387  private:
13389 
13390  public:
13391  const void* pNext = nullptr;
13398  };
13399  static_assert( sizeof( DeviceGroupSubmitInfo ) == sizeof( VkDeviceGroupSubmitInfo ), "struct and wrapper have different size!" );
13400 
13402 
13404  {
13405  DeviceGroupBindSparseInfo( uint32_t resourceDeviceIndex_ = 0, uint32_t memoryDeviceIndex_ = 0 )
13406  : resourceDeviceIndex( resourceDeviceIndex_ )
13407  , memoryDeviceIndex( memoryDeviceIndex_ )
13408  {
13409  }
13410 
13412  {
13413  memcpy( this, &rhs, sizeof( DeviceGroupBindSparseInfo ) );
13414  }
13415 
13417  {
13418  memcpy( this, &rhs, sizeof( DeviceGroupBindSparseInfo ) );
13419  return *this;
13420  }
13421  DeviceGroupBindSparseInfo& setPNext( const void* pNext_ )
13422  {
13423  pNext = pNext_;
13424  return *this;
13425  }
13426 
13428  {
13429  resourceDeviceIndex = resourceDeviceIndex_;
13430  return *this;
13431  }
13432 
13434  {
13435  memoryDeviceIndex = memoryDeviceIndex_;
13436  return *this;
13437  }
13438 
13439  operator const VkDeviceGroupBindSparseInfo&() const
13440  {
13441  return *reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(this);
13442  }
13443 
13444  bool operator==( DeviceGroupBindSparseInfo const& rhs ) const
13445  {
13446  return ( sType == rhs.sType )
13447  && ( pNext == rhs.pNext )
13449  && ( memoryDeviceIndex == rhs.memoryDeviceIndex );
13450  }
13451 
13452  bool operator!=( DeviceGroupBindSparseInfo const& rhs ) const
13453  {
13454  return !operator==( rhs );
13455  }
13456 
13457  private:
13459 
13460  public:
13461  const void* pNext = nullptr;
13464  };
13465  static_assert( sizeof( DeviceGroupBindSparseInfo ) == sizeof( VkDeviceGroupBindSparseInfo ), "struct and wrapper have different size!" );
13466 
13468 
13470  {
13472  : swapchain( swapchain_ )
13473  {
13474  }
13475 
13477  {
13478  memcpy( this, &rhs, sizeof( ImageSwapchainCreateInfoKHR ) );
13479  }
13480 
13482  {
13483  memcpy( this, &rhs, sizeof( ImageSwapchainCreateInfoKHR ) );
13484  return *this;
13485  }
13486  ImageSwapchainCreateInfoKHR& setPNext( const void* pNext_ )
13487  {
13488  pNext = pNext_;
13489  return *this;
13490  }
13491 
13493  {
13494  swapchain = swapchain_;
13495  return *this;
13496  }
13497 
13498  operator const VkImageSwapchainCreateInfoKHR&() const
13499  {
13500  return *reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(this);
13501  }
13502 
13503  bool operator==( ImageSwapchainCreateInfoKHR const& rhs ) const
13504  {
13505  return ( sType == rhs.sType )
13506  && ( pNext == rhs.pNext )
13507  && ( swapchain == rhs.swapchain );
13508  }
13509 
13510  bool operator!=( ImageSwapchainCreateInfoKHR const& rhs ) const
13511  {
13512  return !operator==( rhs );
13513  }
13514 
13515  private:
13517 
13518  public:
13519  const void* pNext = nullptr;
13521  };
13522  static_assert( sizeof( ImageSwapchainCreateInfoKHR ) == sizeof( VkImageSwapchainCreateInfoKHR ), "struct and wrapper have different size!" );
13523 
13525  {
13527  : swapchain( swapchain_ )
13528  , imageIndex( imageIndex_ )
13529  {
13530  }
13531 
13533  {
13534  memcpy( this, &rhs, sizeof( BindImageMemorySwapchainInfoKHR ) );
13535  }
13536 
13538  {
13539  memcpy( this, &rhs, sizeof( BindImageMemorySwapchainInfoKHR ) );
13540  return *this;
13541  }
13543  {
13544  pNext = pNext_;
13545  return *this;
13546  }
13547 
13549  {
13550  swapchain = swapchain_;
13551  return *this;
13552  }
13553 
13555  {
13556  imageIndex = imageIndex_;
13557  return *this;
13558  }
13559 
13560  operator const VkBindImageMemorySwapchainInfoKHR&() const
13561  {
13562  return *reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(this);
13563  }
13564 
13566  {
13567  return ( sType == rhs.sType )
13568  && ( pNext == rhs.pNext )
13569  && ( swapchain == rhs.swapchain )
13570  && ( imageIndex == rhs.imageIndex );
13571  }
13572 
13574  {
13575  return !operator==( rhs );
13576  }
13577 
13578  private:
13580 
13581  public:
13582  const void* pNext = nullptr;
13585  };
13586  static_assert( sizeof( BindImageMemorySwapchainInfoKHR ) == sizeof( VkBindImageMemorySwapchainInfoKHR ), "struct and wrapper have different size!" );
13587 
13589  {
13590  AcquireNextImageInfoKHR( SwapchainKHR swapchain_ = SwapchainKHR(), uint64_t timeout_ = 0, Semaphore semaphore_ = Semaphore(), Fence fence_ = Fence(), uint32_t deviceMask_ = 0 )
13591  : swapchain( swapchain_ )
13592  , timeout( timeout_ )
13593  , semaphore( semaphore_ )
13594  , fence( fence_ )
13595  , deviceMask( deviceMask_ )
13596  {
13597  }
13598 
13600  {
13601  memcpy( this, &rhs, sizeof( AcquireNextImageInfoKHR ) );
13602  }
13603 
13605  {
13606  memcpy( this, &rhs, sizeof( AcquireNextImageInfoKHR ) );
13607  return *this;
13608  }
13609  AcquireNextImageInfoKHR& setPNext( const void* pNext_ )
13610  {
13611  pNext = pNext_;
13612  return *this;
13613  }
13614 
13616  {
13617  swapchain = swapchain_;
13618  return *this;
13619  }
13620 
13622  {
13623  timeout = timeout_;
13624  return *this;
13625  }
13626 
13628  {
13629  semaphore = semaphore_;
13630  return *this;
13631  }
13632 
13634  {
13635  fence = fence_;
13636  return *this;
13637  }
13638 
13640  {
13641  deviceMask = deviceMask_;
13642  return *this;
13643  }
13644 
13645  operator const VkAcquireNextImageInfoKHR&() const
13646  {
13647  return *reinterpret_cast<const VkAcquireNextImageInfoKHR*>(this);
13648  }
13649 
13650  bool operator==( AcquireNextImageInfoKHR const& rhs ) const
13651  {
13652  return ( sType == rhs.sType )
13653  && ( pNext == rhs.pNext )
13654  && ( swapchain == rhs.swapchain )
13655  && ( timeout == rhs.timeout )
13656  && ( semaphore == rhs.semaphore )
13657  && ( fence == rhs.fence )
13658  && ( deviceMask == rhs.deviceMask );
13659  }
13660 
13661  bool operator!=( AcquireNextImageInfoKHR const& rhs ) const
13662  {
13663  return !operator==( rhs );
13664  }
13665 
13666  private:
13668 
13669  public:
13670  const void* pNext = nullptr;
13676  };
13677  static_assert( sizeof( AcquireNextImageInfoKHR ) == sizeof( VkAcquireNextImageInfoKHR ), "struct and wrapper have different size!" );
13678 
13680  {
13681  HdrMetadataEXT( XYColorEXT displayPrimaryRed_ = XYColorEXT(), XYColorEXT displayPrimaryGreen_ = XYColorEXT(), XYColorEXT displayPrimaryBlue_ = XYColorEXT(), XYColorEXT whitePoint_ = XYColorEXT(), float maxLuminance_ = 0, float minLuminance_ = 0, float maxContentLightLevel_ = 0, float maxFrameAverageLightLevel_ = 0 )
13682  : displayPrimaryRed( displayPrimaryRed_ )
13683  , displayPrimaryGreen( displayPrimaryGreen_ )
13684  , displayPrimaryBlue( displayPrimaryBlue_ )
13685  , whitePoint( whitePoint_ )
13686  , maxLuminance( maxLuminance_ )
13687  , minLuminance( minLuminance_ )
13688  , maxContentLightLevel( maxContentLightLevel_ )
13689  , maxFrameAverageLightLevel( maxFrameAverageLightLevel_ )
13690  {
13691  }
13692 
13694  {
13695  memcpy( this, &rhs, sizeof( HdrMetadataEXT ) );
13696  }
13697 
13699  {
13700  memcpy( this, &rhs, sizeof( HdrMetadataEXT ) );
13701  return *this;
13702  }
13703  HdrMetadataEXT& setPNext( const void* pNext_ )
13704  {
13705  pNext = pNext_;
13706  return *this;
13707  }
13708 
13710  {
13711  displayPrimaryRed = displayPrimaryRed_;
13712  return *this;
13713  }
13714 
13716  {
13717  displayPrimaryGreen = displayPrimaryGreen_;
13718  return *this;
13719  }
13720 
13722  {
13723  displayPrimaryBlue = displayPrimaryBlue_;
13724  return *this;
13725  }
13726 
13728  {
13729  whitePoint = whitePoint_;
13730  return *this;
13731  }
13732 
13733  HdrMetadataEXT& setMaxLuminance( float maxLuminance_ )
13734  {
13735  maxLuminance = maxLuminance_;
13736  return *this;
13737  }
13738 
13739  HdrMetadataEXT& setMinLuminance( float minLuminance_ )
13740  {
13741  minLuminance = minLuminance_;
13742  return *this;
13743  }
13744 
13745  HdrMetadataEXT& setMaxContentLightLevel( float maxContentLightLevel_ )
13746  {
13747  maxContentLightLevel = maxContentLightLevel_;
13748  return *this;
13749  }
13750 
13751  HdrMetadataEXT& setMaxFrameAverageLightLevel( float maxFrameAverageLightLevel_ )
13752  {
13753  maxFrameAverageLightLevel = maxFrameAverageLightLevel_;
13754  return *this;
13755  }
13756 
13757  operator const VkHdrMetadataEXT&() const
13758  {
13759  return *reinterpret_cast<const VkHdrMetadataEXT*>(this);
13760  }
13761 
13762  bool operator==( HdrMetadataEXT const& rhs ) const
13763  {
13764  return ( sType == rhs.sType )
13765  && ( pNext == rhs.pNext )
13766  && ( displayPrimaryRed == rhs.displayPrimaryRed )
13769  && ( whitePoint == rhs.whitePoint )
13770  && ( maxLuminance == rhs.maxLuminance )
13771  && ( minLuminance == rhs.minLuminance )
13774  }
13775 
13776  bool operator!=( HdrMetadataEXT const& rhs ) const
13777  {
13778  return !operator==( rhs );
13779  }
13780 
13781  private:
13783 
13784  public:
13785  const void* pNext = nullptr;
13794  };
13795  static_assert( sizeof( HdrMetadataEXT ) == sizeof( VkHdrMetadataEXT ), "struct and wrapper have different size!" );
13796 
13798  {
13799  PresentTimesInfoGOOGLE( uint32_t swapchainCount_ = 0, const PresentTimeGOOGLE* pTimes_ = nullptr )
13800  : swapchainCount( swapchainCount_ )
13801  , pTimes( pTimes_ )
13802  {
13803  }
13804 
13806  {
13807  memcpy( this, &rhs, sizeof( PresentTimesInfoGOOGLE ) );
13808  }
13809 
13811  {
13812  memcpy( this, &rhs, sizeof( PresentTimesInfoGOOGLE ) );
13813  return *this;
13814  }
13815  PresentTimesInfoGOOGLE& setPNext( const void* pNext_ )
13816  {
13817  pNext = pNext_;
13818  return *this;
13819  }
13820 
13822  {
13823  swapchainCount = swapchainCount_;
13824  return *this;
13825  }
13826 
13828  {
13829  pTimes = pTimes_;
13830  return *this;
13831  }
13832 
13833  operator const VkPresentTimesInfoGOOGLE&() const
13834  {
13835  return *reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(this);
13836  }
13837 
13838  bool operator==( PresentTimesInfoGOOGLE const& rhs ) const
13839  {
13840  return ( sType == rhs.sType )
13841  && ( pNext == rhs.pNext )
13842  && ( swapchainCount == rhs.swapchainCount )
13843  && ( pTimes == rhs.pTimes );
13844  }
13845 
13846  bool operator!=( PresentTimesInfoGOOGLE const& rhs ) const
13847  {
13848  return !operator==( rhs );
13849  }
13850 
13851  private:
13853 
13854  public:
13855  const void* pNext = nullptr;
13858  };
13859  static_assert( sizeof( PresentTimesInfoGOOGLE ) == sizeof( VkPresentTimesInfoGOOGLE ), "struct and wrapper have different size!" );
13860 
13861 #ifdef VK_USE_PLATFORM_IOS_MVK
13862  struct IOSSurfaceCreateInfoMVK
13863  {
13864  IOSSurfaceCreateInfoMVK( IOSSurfaceCreateFlagsMVK flags_ = IOSSurfaceCreateFlagsMVK(), const void* pView_ = nullptr )
13865  : flags( flags_ )
13866  , pView( pView_ )
13867  {
13868  }
13869 
13870  IOSSurfaceCreateInfoMVK( VkIOSSurfaceCreateInfoMVK const & rhs )
13871  {
13872  memcpy( this, &rhs, sizeof( IOSSurfaceCreateInfoMVK ) );
13873  }
13874 
13875  IOSSurfaceCreateInfoMVK& operator=( VkIOSSurfaceCreateInfoMVK const & rhs )
13876  {
13877  memcpy( this, &rhs, sizeof( IOSSurfaceCreateInfoMVK ) );
13878  return *this;
13879  }
13880  IOSSurfaceCreateInfoMVK& setPNext( const void* pNext_ )
13881  {
13882  pNext = pNext_;
13883  return *this;
13884  }
13885 
13886  IOSSurfaceCreateInfoMVK& setFlags( IOSSurfaceCreateFlagsMVK flags_ )
13887  {
13888  flags = flags_;
13889  return *this;
13890  }
13891 
13892  IOSSurfaceCreateInfoMVK& setPView( const void* pView_ )
13893  {
13894  pView = pView_;
13895  return *this;
13896  }
13897 
13898  operator const VkIOSSurfaceCreateInfoMVK&() const
13899  {
13900  return *reinterpret_cast<const VkIOSSurfaceCreateInfoMVK*>(this);
13901  }
13902 
13903  bool operator==( IOSSurfaceCreateInfoMVK const& rhs ) const
13904  {
13905  return ( sType == rhs.sType )
13906  && ( pNext == rhs.pNext )
13907  && ( flags == rhs.flags )
13908  && ( pView == rhs.pView );
13909  }
13910 
13911  bool operator!=( IOSSurfaceCreateInfoMVK const& rhs ) const
13912  {
13913  return !operator==( rhs );
13914  }
13915 
13916  private:
13918 
13919  public:
13920  const void* pNext = nullptr;
13921  IOSSurfaceCreateFlagsMVK flags;
13922  const void* pView;
13923  };
13924  static_assert( sizeof( IOSSurfaceCreateInfoMVK ) == sizeof( VkIOSSurfaceCreateInfoMVK ), "struct and wrapper have different size!" );
13925 #endif /*VK_USE_PLATFORM_IOS_MVK*/
13926 
13927 #ifdef VK_USE_PLATFORM_MACOS_MVK
13928  struct MacOSSurfaceCreateInfoMVK
13929  {
13930  MacOSSurfaceCreateInfoMVK( MacOSSurfaceCreateFlagsMVK flags_ = MacOSSurfaceCreateFlagsMVK(), const void* pView_ = nullptr )
13931  : flags( flags_ )
13932  , pView( pView_ )
13933  {
13934  }
13935 
13936  MacOSSurfaceCreateInfoMVK( VkMacOSSurfaceCreateInfoMVK const & rhs )
13937  {
13938  memcpy( this, &rhs, sizeof( MacOSSurfaceCreateInfoMVK ) );
13939  }
13940 
13941  MacOSSurfaceCreateInfoMVK& operator=( VkMacOSSurfaceCreateInfoMVK const & rhs )
13942  {
13943  memcpy( this, &rhs, sizeof( MacOSSurfaceCreateInfoMVK ) );
13944  return *this;
13945  }
13946  MacOSSurfaceCreateInfoMVK& setPNext( const void* pNext_ )
13947  {
13948  pNext = pNext_;
13949  return *this;
13950  }
13951 
13952  MacOSSurfaceCreateInfoMVK& setFlags( MacOSSurfaceCreateFlagsMVK flags_ )
13953  {
13954  flags = flags_;
13955  return *this;
13956  }
13957 
13958  MacOSSurfaceCreateInfoMVK& setPView( const void* pView_ )
13959  {
13960  pView = pView_;
13961  return *this;
13962  }
13963 
13964  operator const VkMacOSSurfaceCreateInfoMVK&() const
13965  {
13966  return *reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK*>(this);
13967  }
13968 
13969  bool operator==( MacOSSurfaceCreateInfoMVK const& rhs ) const
13970  {
13971  return ( sType == rhs.sType )
13972  && ( pNext == rhs.pNext )
13973  && ( flags == rhs.flags )
13974  && ( pView == rhs.pView );
13975  }
13976 
13977  bool operator!=( MacOSSurfaceCreateInfoMVK const& rhs ) const
13978  {
13979  return !operator==( rhs );
13980  }
13981 
13982  private:
13984 
13985  public:
13986  const void* pNext = nullptr;
13987  MacOSSurfaceCreateFlagsMVK flags;
13988  const void* pView;
13989  };
13990  static_assert( sizeof( MacOSSurfaceCreateInfoMVK ) == sizeof( VkMacOSSurfaceCreateInfoMVK ), "struct and wrapper have different size!" );
13991 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
13992 
13994  {
13995  PipelineViewportWScalingStateCreateInfoNV( Bool32 viewportWScalingEnable_ = 0, uint32_t viewportCount_ = 0, const ViewportWScalingNV* pViewportWScalings_ = nullptr )
13996  : viewportWScalingEnable( viewportWScalingEnable_ )
13997  , viewportCount( viewportCount_ )
13998  , pViewportWScalings( pViewportWScalings_ )
13999  {
14000  }
14001 
14003  {
14004  memcpy( this, &rhs, sizeof( PipelineViewportWScalingStateCreateInfoNV ) );
14005  }
14006 
14008  {
14009  memcpy( this, &rhs, sizeof( PipelineViewportWScalingStateCreateInfoNV ) );
14010  return *this;
14011  }
14013  {
14014  pNext = pNext_;
14015  return *this;
14016  }
14017 
14019  {
14020  viewportWScalingEnable = viewportWScalingEnable_;
14021  return *this;
14022  }
14023 
14025  {
14026  viewportCount = viewportCount_;
14027  return *this;
14028  }
14029 
14031  {
14032  pViewportWScalings = pViewportWScalings_;
14033  return *this;
14034  }
14035 
14037  {
14038  return *reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(this);
14039  }
14040 
14042  {
14043  return ( sType == rhs.sType )
14044  && ( pNext == rhs.pNext )
14046  && ( viewportCount == rhs.viewportCount )
14047  && ( pViewportWScalings == rhs.pViewportWScalings );
14048  }
14049 
14051  {
14052  return !operator==( rhs );
14053  }
14054 
14055  private:
14057 
14058  public:
14059  const void* pNext = nullptr;
14063  };
14064  static_assert( sizeof( PipelineViewportWScalingStateCreateInfoNV ) == sizeof( VkPipelineViewportWScalingStateCreateInfoNV ), "struct and wrapper have different size!" );
14065 
14067  {
14069  : maxDiscardRectangles( maxDiscardRectangles_ )
14070  {
14071  }
14072 
14074  {
14075  memcpy( this, &rhs, sizeof( PhysicalDeviceDiscardRectanglePropertiesEXT ) );
14076  }
14077 
14079  {
14080  memcpy( this, &rhs, sizeof( PhysicalDeviceDiscardRectanglePropertiesEXT ) );
14081  return *this;
14082  }
14084  {
14085  pNext = pNext_;
14086  return *this;
14087  }
14088 
14090  {
14091  maxDiscardRectangles = maxDiscardRectangles_;
14092  return *this;
14093  }
14094 
14096  {
14097  return *reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(this);
14098  }
14099 
14101  {
14102  return ( sType == rhs.sType )
14103  && ( pNext == rhs.pNext )
14105  }
14106 
14108  {
14109  return !operator==( rhs );
14110  }
14111 
14112  private:
14114 
14115  public:
14116  void* pNext = nullptr;
14118  };
14119  static_assert( sizeof( PhysicalDeviceDiscardRectanglePropertiesEXT ) == sizeof( VkPhysicalDeviceDiscardRectanglePropertiesEXT ), "struct and wrapper have different size!" );
14120 
14122  {
14124  {
14125  return *reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(this);
14126  }
14127 
14129  {
14130  return ( sType == rhs.sType )
14131  && ( pNext == rhs.pNext )
14133  }
14134 
14136  {
14137  return !operator==( rhs );
14138  }
14139 
14140  private:
14142 
14143  public:
14144  void* pNext = nullptr;
14146  };
14147  static_assert( sizeof( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX ) == sizeof( VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX ), "struct and wrapper have different size!" );
14148 
14150  {
14152  : surface( surface_ )
14153  {
14154  }
14155 
14157  {
14158  memcpy( this, &rhs, sizeof( PhysicalDeviceSurfaceInfo2KHR ) );
14159  }
14160 
14162  {
14163  memcpy( this, &rhs, sizeof( PhysicalDeviceSurfaceInfo2KHR ) );
14164  return *this;
14165  }
14167  {
14168  pNext = pNext_;
14169  return *this;
14170  }
14171 
14173  {
14174  surface = surface_;
14175  return *this;
14176  }
14177 
14178  operator const VkPhysicalDeviceSurfaceInfo2KHR&() const
14179  {
14180  return *reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR*>(this);
14181  }
14182 
14184  {
14185  return ( sType == rhs.sType )
14186  && ( pNext == rhs.pNext )
14187  && ( surface == rhs.surface );
14188  }
14189 
14191  {
14192  return !operator==( rhs );
14193  }
14194 
14195  private:
14197 
14198  public:
14199  const void* pNext = nullptr;
14201  };
14202  static_assert( sizeof( PhysicalDeviceSurfaceInfo2KHR ) == sizeof( VkPhysicalDeviceSurfaceInfo2KHR ), "struct and wrapper have different size!" );
14203 
14205  {
14206  PhysicalDevice16BitStorageFeatures( Bool32 storageBuffer16BitAccess_ = 0, Bool32 uniformAndStorageBuffer16BitAccess_ = 0, Bool32 storagePushConstant16_ = 0, Bool32 storageInputOutput16_ = 0 )
14207  : storageBuffer16BitAccess( storageBuffer16BitAccess_ )
14208  , uniformAndStorageBuffer16BitAccess( uniformAndStorageBuffer16BitAccess_ )
14209  , storagePushConstant16( storagePushConstant16_ )
14210  , storageInputOutput16( storageInputOutput16_ )
14211  {
14212  }
14213 
14215  {
14216  memcpy( this, &rhs, sizeof( PhysicalDevice16BitStorageFeatures ) );
14217  }
14218 
14220  {
14221  memcpy( this, &rhs, sizeof( PhysicalDevice16BitStorageFeatures ) );
14222  return *this;
14223  }
14225  {
14226  pNext = pNext_;
14227  return *this;
14228  }
14229 
14231  {
14232  storageBuffer16BitAccess = storageBuffer16BitAccess_;
14233  return *this;
14234  }
14235 
14237  {
14238  uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess_;
14239  return *this;
14240  }
14241 
14243  {
14244  storagePushConstant16 = storagePushConstant16_;
14245  return *this;
14246  }
14247 
14249  {
14250  storageInputOutput16 = storageInputOutput16_;
14251  return *this;
14252  }
14253 
14255  {
14256  return *reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(this);
14257  }
14258 
14260  {
14261  return ( sType == rhs.sType )
14262  && ( pNext == rhs.pNext )
14267  }
14268 
14270  {
14271  return !operator==( rhs );
14272  }
14273 
14274  private:
14276 
14277  public:
14278  void* pNext = nullptr;
14283  };
14284  static_assert( sizeof( PhysicalDevice16BitStorageFeatures ) == sizeof( VkPhysicalDevice16BitStorageFeatures ), "struct and wrapper have different size!" );
14285 
14287 
14289  {
14291  : buffer( buffer_ )
14292  {
14293  }
14294 
14296  {
14297  memcpy( this, &rhs, sizeof( BufferMemoryRequirementsInfo2 ) );
14298  }
14299 
14301  {
14302  memcpy( this, &rhs, sizeof( BufferMemoryRequirementsInfo2 ) );
14303  return *this;
14304  }
14306  {
14307  pNext = pNext_;
14308  return *this;
14309  }
14310 
14312  {
14313  buffer = buffer_;
14314  return *this;
14315  }
14316 
14317  operator const VkBufferMemoryRequirementsInfo2&() const
14318  {
14319  return *reinterpret_cast<const VkBufferMemoryRequirementsInfo2*>(this);
14320  }
14321 
14323  {
14324  return ( sType == rhs.sType )
14325  && ( pNext == rhs.pNext )
14326  && ( buffer == rhs.buffer );
14327  }
14328 
14330  {
14331  return !operator==( rhs );
14332  }
14333 
14334  private:
14336 
14337  public:
14338  const void* pNext = nullptr;
14340  };
14341  static_assert( sizeof( BufferMemoryRequirementsInfo2 ) == sizeof( VkBufferMemoryRequirementsInfo2 ), "struct and wrapper have different size!" );
14342 
14344 
14346  {
14348  : image( image_ )
14349  {
14350  }
14351 
14353  {
14354  memcpy( this, &rhs, sizeof( ImageMemoryRequirementsInfo2 ) );
14355  }
14356 
14358  {
14359  memcpy( this, &rhs, sizeof( ImageMemoryRequirementsInfo2 ) );
14360  return *this;
14361  }
14363  {
14364  pNext = pNext_;
14365  return *this;
14366  }
14367 
14369  {
14370  image = image_;
14371  return *this;
14372  }
14373 
14374  operator const VkImageMemoryRequirementsInfo2&() const
14375  {
14376  return *reinterpret_cast<const VkImageMemoryRequirementsInfo2*>(this);
14377  }
14378 
14379  bool operator==( ImageMemoryRequirementsInfo2 const& rhs ) const
14380  {
14381  return ( sType == rhs.sType )
14382  && ( pNext == rhs.pNext )
14383  && ( image == rhs.image );
14384  }
14385 
14386  bool operator!=( ImageMemoryRequirementsInfo2 const& rhs ) const
14387  {
14388  return !operator==( rhs );
14389  }
14390 
14391  private:
14393 
14394  public:
14395  const void* pNext = nullptr;
14397  };
14398  static_assert( sizeof( ImageMemoryRequirementsInfo2 ) == sizeof( VkImageMemoryRequirementsInfo2 ), "struct and wrapper have different size!" );
14399 
14401 
14403  {
14405  : image( image_ )
14406  {
14407  }
14408 
14410  {
14411  memcpy( this, &rhs, sizeof( ImageSparseMemoryRequirementsInfo2 ) );
14412  }
14413 
14415  {
14416  memcpy( this, &rhs, sizeof( ImageSparseMemoryRequirementsInfo2 ) );
14417  return *this;
14418  }
14420  {
14421  pNext = pNext_;
14422  return *this;
14423  }
14424 
14426  {
14427  image = image_;
14428  return *this;
14429  }
14430 
14432  {
14433  return *reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2*>(this);
14434  }
14435 
14437  {
14438  return ( sType == rhs.sType )
14439  && ( pNext == rhs.pNext )
14440  && ( image == rhs.image );
14441  }
14442 
14444  {
14445  return !operator==( rhs );
14446  }
14447 
14448  private:
14450 
14451  public:
14452  const void* pNext = nullptr;
14454  };
14455  static_assert( sizeof( ImageSparseMemoryRequirementsInfo2 ) == sizeof( VkImageSparseMemoryRequirementsInfo2 ), "struct and wrapper have different size!" );
14456 
14458 
14460  {
14461  operator const VkMemoryRequirements2&() const
14462  {
14463  return *reinterpret_cast<const VkMemoryRequirements2*>(this);
14464  }
14465 
14466  bool operator==( MemoryRequirements2 const& rhs ) const
14467  {
14468  return ( sType == rhs.sType )
14469  && ( pNext == rhs.pNext )
14470  && ( memoryRequirements == rhs.memoryRequirements );
14471  }
14472 
14473  bool operator!=( MemoryRequirements2 const& rhs ) const
14474  {
14475  return !operator==( rhs );
14476  }
14477 
14478  private:
14480 
14481  public:
14482  void* pNext = nullptr;
14484  };
14485  static_assert( sizeof( MemoryRequirements2 ) == sizeof( VkMemoryRequirements2 ), "struct and wrapper have different size!" );
14486 
14488 
14490  {
14491  operator const VkMemoryDedicatedRequirements&() const
14492  {
14493  return *reinterpret_cast<const VkMemoryDedicatedRequirements*>(this);
14494  }
14495 
14496  bool operator==( MemoryDedicatedRequirements const& rhs ) const
14497  {
14498  return ( sType == rhs.sType )
14499  && ( pNext == rhs.pNext )
14502  }
14503 
14504  bool operator!=( MemoryDedicatedRequirements const& rhs ) const
14505  {
14506  return !operator==( rhs );
14507  }
14508 
14509  private:
14511 
14512  public:
14513  void* pNext = nullptr;
14516  };
14517  static_assert( sizeof( MemoryDedicatedRequirements ) == sizeof( VkMemoryDedicatedRequirements ), "struct and wrapper have different size!" );
14518 
14520 
14522  {
14524  : image( image_ )
14525  , buffer( buffer_ )
14526  {
14527  }
14528 
14530  {
14531  memcpy( this, &rhs, sizeof( MemoryDedicatedAllocateInfo ) );
14532  }
14533 
14535  {
14536  memcpy( this, &rhs, sizeof( MemoryDedicatedAllocateInfo ) );
14537  return *this;
14538  }
14539  MemoryDedicatedAllocateInfo& setPNext( const void* pNext_ )
14540  {
14541  pNext = pNext_;
14542  return *this;
14543  }
14544 
14546  {
14547  image = image_;
14548  return *this;
14549  }
14550 
14552  {
14553  buffer = buffer_;
14554  return *this;
14555  }
14556 
14557  operator const VkMemoryDedicatedAllocateInfo&() const
14558  {
14559  return *reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(this);
14560  }
14561 
14562  bool operator==( MemoryDedicatedAllocateInfo const& rhs ) const
14563  {
14564  return ( sType == rhs.sType )
14565  && ( pNext == rhs.pNext )
14566  && ( image == rhs.image )
14567  && ( buffer == rhs.buffer );
14568  }
14569 
14570  bool operator!=( MemoryDedicatedAllocateInfo const& rhs ) const
14571  {
14572  return !operator==( rhs );
14573  }
14574 
14575  private:
14577 
14578  public:
14579  const void* pNext = nullptr;
14582  };
14583  static_assert( sizeof( MemoryDedicatedAllocateInfo ) == sizeof( VkMemoryDedicatedAllocateInfo ), "struct and wrapper have different size!" );
14584 
14586 
14588  {
14590  : conversion( conversion_ )
14591  {
14592  }
14593 
14595  {
14596  memcpy( this, &rhs, sizeof( SamplerYcbcrConversionInfo ) );
14597  }
14598 
14600  {
14601  memcpy( this, &rhs, sizeof( SamplerYcbcrConversionInfo ) );
14602  return *this;
14603  }
14604  SamplerYcbcrConversionInfo& setPNext( const void* pNext_ )
14605  {
14606  pNext = pNext_;
14607  return *this;
14608  }
14609 
14611  {
14612  conversion = conversion_;
14613  return *this;
14614  }
14615 
14616  operator const VkSamplerYcbcrConversionInfo&() const
14617  {
14618  return *reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(this);
14619  }
14620 
14621  bool operator==( SamplerYcbcrConversionInfo const& rhs ) const
14622  {
14623  return ( sType == rhs.sType )
14624  && ( pNext == rhs.pNext )
14625  && ( conversion == rhs.conversion );
14626  }
14627 
14628  bool operator!=( SamplerYcbcrConversionInfo const& rhs ) const
14629  {
14630  return !operator==( rhs );
14631  }
14632 
14633  private:
14635 
14636  public:
14637  const void* pNext = nullptr;
14639  };
14640  static_assert( sizeof( SamplerYcbcrConversionInfo ) == sizeof( VkSamplerYcbcrConversionInfo ), "struct and wrapper have different size!" );
14641 
14643 
14645  {
14647  : samplerYcbcrConversion( samplerYcbcrConversion_ )
14648  {
14649  }
14650 
14652  {
14653  memcpy( this, &rhs, sizeof( PhysicalDeviceSamplerYcbcrConversionFeatures ) );
14654  }
14655 
14657  {
14658  memcpy( this, &rhs, sizeof( PhysicalDeviceSamplerYcbcrConversionFeatures ) );
14659  return *this;
14660  }
14662  {
14663  pNext = pNext_;
14664  return *this;
14665  }
14666 
14668  {
14669  samplerYcbcrConversion = samplerYcbcrConversion_;
14670  return *this;
14671  }
14672 
14674  {
14675  return *reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(this);
14676  }
14677 
14679  {
14680  return ( sType == rhs.sType )
14681  && ( pNext == rhs.pNext )
14683  }
14684 
14686  {
14687  return !operator==( rhs );
14688  }
14689 
14690  private:
14692 
14693  public:
14694  void* pNext = nullptr;
14696  };
14697  static_assert( sizeof( PhysicalDeviceSamplerYcbcrConversionFeatures ) == sizeof( VkPhysicalDeviceSamplerYcbcrConversionFeatures ), "struct and wrapper have different size!" );
14698 
14700 
14702  {
14704  {
14705  return *reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(this);
14706  }
14707 
14709  {
14710  return ( sType == rhs.sType )
14711  && ( pNext == rhs.pNext )
14713  }
14714 
14716  {
14717  return !operator==( rhs );
14718  }
14719 
14720  private:
14722 
14723  public:
14724  void* pNext = nullptr;
14726  };
14727  static_assert( sizeof( SamplerYcbcrConversionImageFormatProperties ) == sizeof( VkSamplerYcbcrConversionImageFormatProperties ), "struct and wrapper have different size!" );
14728 
14730 
14732  {
14734  {
14735  return *reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(this);
14736  }
14737 
14739  {
14740  return ( sType == rhs.sType )
14741  && ( pNext == rhs.pNext )
14743  }
14744 
14746  {
14747  return !operator==( rhs );
14748  }
14749 
14750  private:
14752 
14753  public:
14754  void* pNext = nullptr;
14756  };
14757  static_assert( sizeof( TextureLODGatherFormatPropertiesAMD ) == sizeof( VkTextureLODGatherFormatPropertiesAMD ), "struct and wrapper have different size!" );
14758 
14760  {
14761  ProtectedSubmitInfo( Bool32 protectedSubmit_ = 0 )
14762  : protectedSubmit( protectedSubmit_ )
14763  {
14764  }
14765 
14767  {
14768  memcpy( this, &rhs, sizeof( ProtectedSubmitInfo ) );
14769  }
14770 
14772  {
14773  memcpy( this, &rhs, sizeof( ProtectedSubmitInfo ) );
14774  return *this;
14775  }
14776  ProtectedSubmitInfo& setPNext( const void* pNext_ )
14777  {
14778  pNext = pNext_;
14779  return *this;
14780  }
14781 
14783  {
14784  protectedSubmit = protectedSubmit_;
14785  return *this;
14786  }
14787 
14788  operator const VkProtectedSubmitInfo&() const
14789  {
14790  return *reinterpret_cast<const VkProtectedSubmitInfo*>(this);
14791  }
14792 
14793  bool operator==( ProtectedSubmitInfo const& rhs ) const
14794  {
14795  return ( sType == rhs.sType )
14796  && ( pNext == rhs.pNext )
14797  && ( protectedSubmit == rhs.protectedSubmit );
14798  }
14799 
14800  bool operator!=( ProtectedSubmitInfo const& rhs ) const
14801  {
14802  return !operator==( rhs );
14803  }
14804 
14805  private:
14807 
14808  public:
14809  const void* pNext = nullptr;
14811  };
14812  static_assert( sizeof( ProtectedSubmitInfo ) == sizeof( VkProtectedSubmitInfo ), "struct and wrapper have different size!" );
14813 
14815  {
14817  : protectedMemory( protectedMemory_ )
14818  {
14819  }
14820 
14822  {
14823  memcpy( this, &rhs, sizeof( PhysicalDeviceProtectedMemoryFeatures ) );
14824  }
14825 
14827  {
14828  memcpy( this, &rhs, sizeof( PhysicalDeviceProtectedMemoryFeatures ) );
14829  return *this;
14830  }
14832  {
14833  pNext = pNext_;
14834  return *this;
14835  }
14836 
14838  {
14839  protectedMemory = protectedMemory_;
14840  return *this;
14841  }
14842 
14844  {
14845  return *reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(this);
14846  }
14847 
14849  {
14850  return ( sType == rhs.sType )
14851  && ( pNext == rhs.pNext )
14852  && ( protectedMemory == rhs.protectedMemory );
14853  }
14854 
14856  {
14857  return !operator==( rhs );
14858  }
14859 
14860  private:
14862 
14863  public:
14864  void* pNext = nullptr;
14866  };
14867  static_assert( sizeof( PhysicalDeviceProtectedMemoryFeatures ) == sizeof( VkPhysicalDeviceProtectedMemoryFeatures ), "struct and wrapper have different size!" );
14868 
14870  {
14872  : protectedNoFault( protectedNoFault_ )
14873  {
14874  }
14875 
14877  {
14878  memcpy( this, &rhs, sizeof( PhysicalDeviceProtectedMemoryProperties ) );
14879  }
14880 
14882  {
14883  memcpy( this, &rhs, sizeof( PhysicalDeviceProtectedMemoryProperties ) );
14884  return *this;
14885  }
14887  {
14888  pNext = pNext_;
14889  return *this;
14890  }
14891 
14893  {
14894  protectedNoFault = protectedNoFault_;
14895  return *this;
14896  }
14897 
14899  {
14900  return *reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(this);
14901  }
14902 
14904  {
14905  return ( sType == rhs.sType )
14906  && ( pNext == rhs.pNext )
14907  && ( protectedNoFault == rhs.protectedNoFault );
14908  }
14909 
14911  {
14912  return !operator==( rhs );
14913  }
14914 
14915  private:
14917 
14918  public:
14919  void* pNext = nullptr;
14921  };
14922  static_assert( sizeof( PhysicalDeviceProtectedMemoryProperties ) == sizeof( VkPhysicalDeviceProtectedMemoryProperties ), "struct and wrapper have different size!" );
14923 
14925  {
14927  : flags( flags_ )
14928  , coverageToColorEnable( coverageToColorEnable_ )
14929  , coverageToColorLocation( coverageToColorLocation_ )
14930  {
14931  }
14932 
14934  {
14935  memcpy( this, &rhs, sizeof( PipelineCoverageToColorStateCreateInfoNV ) );
14936  }
14937 
14939  {
14940  memcpy( this, &rhs, sizeof( PipelineCoverageToColorStateCreateInfoNV ) );
14941  return *this;
14942  }
14944  {
14945  pNext = pNext_;
14946  return *this;
14947  }
14948 
14950  {
14951  flags = flags_;
14952  return *this;
14953  }
14954 
14956  {
14957  coverageToColorEnable = coverageToColorEnable_;
14958  return *this;
14959  }
14960 
14962  {
14963  coverageToColorLocation = coverageToColorLocation_;
14964  return *this;
14965  }
14966 
14968  {
14969  return *reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(this);
14970  }
14971 
14973  {
14974  return ( sType == rhs.sType )
14975  && ( pNext == rhs.pNext )
14976  && ( flags == rhs.flags )
14979  }
14980 
14982  {
14983  return !operator==( rhs );
14984  }
14985 
14986  private:
14988 
14989  public:
14990  const void* pNext = nullptr;
14994  };
14995  static_assert( sizeof( PipelineCoverageToColorStateCreateInfoNV ) == sizeof( VkPipelineCoverageToColorStateCreateInfoNV ), "struct and wrapper have different size!" );
14996 
14998  {
15000  {
15001  return *reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(this);
15002  }
15003 
15005  {
15006  return ( sType == rhs.sType )
15007  && ( pNext == rhs.pNext )
15010  }
15011 
15013  {
15014  return !operator==( rhs );
15015  }
15016 
15017  private:
15019 
15020  public:
15021  void* pNext = nullptr;
15024  };
15025  static_assert( sizeof( PhysicalDeviceSamplerFilterMinmaxPropertiesEXT ) == sizeof( VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT ), "struct and wrapper have different size!" );
15026 
15028  {
15029  operator const VkMultisamplePropertiesEXT&() const
15030  {
15031  return *reinterpret_cast<const VkMultisamplePropertiesEXT*>(this);
15032  }
15033 
15034  bool operator==( MultisamplePropertiesEXT const& rhs ) const
15035  {
15036  return ( sType == rhs.sType )
15037  && ( pNext == rhs.pNext )
15039  }
15040 
15041  bool operator!=( MultisamplePropertiesEXT const& rhs ) const
15042  {
15043  return !operator==( rhs );
15044  }
15045 
15046  private:
15048 
15049  public:
15050  void* pNext = nullptr;
15052  };
15053  static_assert( sizeof( MultisamplePropertiesEXT ) == sizeof( VkMultisamplePropertiesEXT ), "struct and wrapper have different size!" );
15054 
15056  {
15057  PhysicalDeviceBlendOperationAdvancedFeaturesEXT( Bool32 advancedBlendCoherentOperations_ = 0 )
15058  : advancedBlendCoherentOperations( advancedBlendCoherentOperations_ )
15059  {
15060  }
15061 
15063  {
15065  }
15066 
15068  {
15070  return *this;
15071  }
15073  {
15074  pNext = pNext_;
15075  return *this;
15076  }
15077 
15079  {
15080  advancedBlendCoherentOperations = advancedBlendCoherentOperations_;
15081  return *this;
15082  }
15083 
15085  {
15086  return *reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(this);
15087  }
15088 
15090  {
15091  return ( sType == rhs.sType )
15092  && ( pNext == rhs.pNext )
15094  }
15095 
15097  {
15098  return !operator==( rhs );
15099  }
15100 
15101  private:
15103 
15104  public:
15105  void* pNext = nullptr;
15107  };
15108  static_assert( sizeof( PhysicalDeviceBlendOperationAdvancedFeaturesEXT ) == sizeof( VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT ), "struct and wrapper have different size!" );
15109 
15111  {
15113  {
15114  return *reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(this);
15115  }
15116 
15118  {
15119  return ( sType == rhs.sType )
15120  && ( pNext == rhs.pNext )
15127  }
15128 
15130  {
15131  return !operator==( rhs );
15132  }
15133 
15134  private:
15136 
15137  public:
15138  void* pNext = nullptr;
15145  };
15146  static_assert( sizeof( PhysicalDeviceBlendOperationAdvancedPropertiesEXT ) == sizeof( VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT ), "struct and wrapper have different size!" );
15147 
15149  {
15150  ImageFormatListCreateInfoKHR( uint32_t viewFormatCount_ = 0, const Format* pViewFormats_ = nullptr )
15151  : viewFormatCount( viewFormatCount_ )
15152  , pViewFormats( pViewFormats_ )
15153  {
15154  }
15155 
15157  {
15158  memcpy( this, &rhs, sizeof( ImageFormatListCreateInfoKHR ) );
15159  }
15160 
15162  {
15163  memcpy( this, &rhs, sizeof( ImageFormatListCreateInfoKHR ) );
15164  return *this;
15165  }
15167  {
15168  pNext = pNext_;
15169  return *this;
15170  }
15171 
15173  {
15174  viewFormatCount = viewFormatCount_;
15175  return *this;
15176  }
15177 
15179  {
15180  pViewFormats = pViewFormats_;
15181  return *this;
15182  }
15183 
15184  operator const VkImageFormatListCreateInfoKHR&() const
15185  {
15186  return *reinterpret_cast<const VkImageFormatListCreateInfoKHR*>(this);
15187  }
15188 
15189  bool operator==( ImageFormatListCreateInfoKHR const& rhs ) const
15190  {
15191  return ( sType == rhs.sType )
15192  && ( pNext == rhs.pNext )
15193  && ( viewFormatCount == rhs.viewFormatCount )
15194  && ( pViewFormats == rhs.pViewFormats );
15195  }
15196 
15197  bool operator!=( ImageFormatListCreateInfoKHR const& rhs ) const
15198  {
15199  return !operator==( rhs );
15200  }
15201 
15202  private:
15204 
15205  public:
15206  const void* pNext = nullptr;
15209  };
15210  static_assert( sizeof( ImageFormatListCreateInfoKHR ) == sizeof( VkImageFormatListCreateInfoKHR ), "struct and wrapper have different size!" );
15211 
15213  {
15214  ValidationCacheCreateInfoEXT( ValidationCacheCreateFlagsEXT flags_ = ValidationCacheCreateFlagsEXT(), size_t initialDataSize_ = 0, const void* pInitialData_ = nullptr )
15215  : flags( flags_ )
15216  , initialDataSize( initialDataSize_ )
15217  , pInitialData( pInitialData_ )
15218  {
15219  }
15220 
15222  {
15223  memcpy( this, &rhs, sizeof( ValidationCacheCreateInfoEXT ) );
15224  }
15225 
15227  {
15228  memcpy( this, &rhs, sizeof( ValidationCacheCreateInfoEXT ) );
15229  return *this;
15230  }
15232  {
15233  pNext = pNext_;
15234  return *this;
15235  }
15236 
15238  {
15239  flags = flags_;
15240  return *this;
15241  }
15242 
15244  {
15245  initialDataSize = initialDataSize_;
15246  return *this;
15247  }
15248 
15249  ValidationCacheCreateInfoEXT& setPInitialData( const void* pInitialData_ )
15250  {
15251  pInitialData = pInitialData_;
15252  return *this;
15253  }
15254 
15255  operator const VkValidationCacheCreateInfoEXT&() const
15256  {
15257  return *reinterpret_cast<const VkValidationCacheCreateInfoEXT*>(this);
15258  }
15259 
15260  bool operator==( ValidationCacheCreateInfoEXT const& rhs ) const
15261  {
15262  return ( sType == rhs.sType )
15263  && ( pNext == rhs.pNext )
15264  && ( flags == rhs.flags )
15265  && ( initialDataSize == rhs.initialDataSize )
15266  && ( pInitialData == rhs.pInitialData );
15267  }
15268 
15269  bool operator!=( ValidationCacheCreateInfoEXT const& rhs ) const
15270  {
15271  return !operator==( rhs );
15272  }
15273 
15274  private:
15276 
15277  public:
15278  const void* pNext = nullptr;
15281  const void* pInitialData;
15282  };
15283  static_assert( sizeof( ValidationCacheCreateInfoEXT ) == sizeof( VkValidationCacheCreateInfoEXT ), "struct and wrapper have different size!" );
15284 
15286  {
15288  : validationCache( validationCache_ )
15289  {
15290  }
15291 
15293  {
15294  memcpy( this, &rhs, sizeof( ShaderModuleValidationCacheCreateInfoEXT ) );
15295  }
15296 
15298  {
15299  memcpy( this, &rhs, sizeof( ShaderModuleValidationCacheCreateInfoEXT ) );
15300  return *this;
15301  }
15303  {
15304  pNext = pNext_;
15305  return *this;
15306  }
15307 
15309  {
15310  validationCache = validationCache_;
15311  return *this;
15312  }
15313 
15315  {
15316  return *reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(this);
15317  }
15318 
15320  {
15321  return ( sType == rhs.sType )
15322  && ( pNext == rhs.pNext )
15323  && ( validationCache == rhs.validationCache );
15324  }
15325 
15327  {
15328  return !operator==( rhs );
15329  }
15330 
15331  private:
15333 
15334  public:
15335  const void* pNext = nullptr;
15337  };
15338  static_assert( sizeof( ShaderModuleValidationCacheCreateInfoEXT ) == sizeof( VkShaderModuleValidationCacheCreateInfoEXT ), "struct and wrapper have different size!" );
15339 
15341  {
15343  {
15344  return *reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(this);
15345  }
15346 
15348  {
15349  return ( sType == rhs.sType )
15350  && ( pNext == rhs.pNext )
15353  }
15354 
15356  {
15357  return !operator==( rhs );
15358  }
15359 
15360  private:
15362 
15363  public:
15364  void* pNext = nullptr;
15367  };
15368  static_assert( sizeof( PhysicalDeviceMaintenance3Properties ) == sizeof( VkPhysicalDeviceMaintenance3Properties ), "struct and wrapper have different size!" );
15369 
15371 
15373  {
15374  operator const VkDescriptorSetLayoutSupport&() const
15375  {
15376  return *reinterpret_cast<const VkDescriptorSetLayoutSupport*>(this);
15377  }
15378 
15379  bool operator==( DescriptorSetLayoutSupport const& rhs ) const
15380  {
15381  return ( sType == rhs.sType )
15382  && ( pNext == rhs.pNext )
15383  && ( supported == rhs.supported );
15384  }
15385 
15386  bool operator!=( DescriptorSetLayoutSupport const& rhs ) const
15387  {
15388  return !operator==( rhs );
15389  }
15390 
15391  private:
15393 
15394  public:
15395  void* pNext = nullptr;
15397  };
15398  static_assert( sizeof( DescriptorSetLayoutSupport ) == sizeof( VkDescriptorSetLayoutSupport ), "struct and wrapper have different size!" );
15399 
15401 
15403  {
15405  : shaderDrawParameters( shaderDrawParameters_ )
15406  {
15407  }
15408 
15410  {
15411  memcpy( this, &rhs, sizeof( PhysicalDeviceShaderDrawParameterFeatures ) );
15412  }
15413 
15415  {
15416  memcpy( this, &rhs, sizeof( PhysicalDeviceShaderDrawParameterFeatures ) );
15417  return *this;
15418  }
15420  {
15421  pNext = pNext_;
15422  return *this;
15423  }
15424 
15426  {
15427  shaderDrawParameters = shaderDrawParameters_;
15428  return *this;
15429  }
15430 
15432  {
15433  return *reinterpret_cast<const VkPhysicalDeviceShaderDrawParameterFeatures*>(this);
15434  }
15435 
15437  {
15438  return ( sType == rhs.sType )
15439  && ( pNext == rhs.pNext )
15441  }
15442 
15444  {
15445  return !operator==( rhs );
15446  }
15447 
15448  private:
15450 
15451  public:
15452  void* pNext = nullptr;
15454  };
15455  static_assert( sizeof( PhysicalDeviceShaderDrawParameterFeatures ) == sizeof( VkPhysicalDeviceShaderDrawParameterFeatures ), "struct and wrapper have different size!" );
15456 
15458  {
15459  DebugUtilsLabelEXT( const char* pLabelName_ = nullptr, std::array<float,4> const& color_ = { { 0, 0, 0, 0 } } )
15460  : pLabelName( pLabelName_ )
15461  {
15462  memcpy( &color, color_.data(), 4 * sizeof( float ) );
15463  }
15464 
15466  {
15467  memcpy( this, &rhs, sizeof( DebugUtilsLabelEXT ) );
15468  }
15469 
15471  {
15472  memcpy( this, &rhs, sizeof( DebugUtilsLabelEXT ) );
15473  return *this;
15474  }
15475  DebugUtilsLabelEXT& setPNext( const void* pNext_ )
15476  {
15477  pNext = pNext_;
15478  return *this;
15479  }
15480 
15481  DebugUtilsLabelEXT& setPLabelName( const char* pLabelName_ )
15482  {
15483  pLabelName = pLabelName_;
15484  return *this;
15485  }
15486 
15487  DebugUtilsLabelEXT& setColor( std::array<float,4> color_ )
15488  {
15489  memcpy( &color, color_.data(), 4 * sizeof( float ) );
15490  return *this;
15491  }
15492 
15493  operator const VkDebugUtilsLabelEXT&() const
15494  {
15495  return *reinterpret_cast<const VkDebugUtilsLabelEXT*>(this);
15496  }
15497 
15498  bool operator==( DebugUtilsLabelEXT const& rhs ) const
15499  {
15500  return ( sType == rhs.sType )
15501  && ( pNext == rhs.pNext )
15502  && ( pLabelName == rhs.pLabelName )
15503  && ( memcmp( color, rhs.color, 4 * sizeof( float ) ) == 0 );
15504  }
15505 
15506  bool operator!=( DebugUtilsLabelEXT const& rhs ) const
15507  {
15508  return !operator==( rhs );
15509  }
15510 
15511  private:
15513 
15514  public:
15515  const void* pNext = nullptr;
15516  const char* pLabelName;
15517  float color[4];
15518  };
15519  static_assert( sizeof( DebugUtilsLabelEXT ) == sizeof( VkDebugUtilsLabelEXT ), "struct and wrapper have different size!" );
15520 
15522  {
15524  : memoryTypeBits( memoryTypeBits_ )
15525  {
15526  }
15527 
15529  {
15530  memcpy( this, &rhs, sizeof( MemoryHostPointerPropertiesEXT ) );
15531  }
15532 
15534  {
15535  memcpy( this, &rhs, sizeof( MemoryHostPointerPropertiesEXT ) );
15536  return *this;
15537  }
15539  {
15540  pNext = pNext_;
15541  return *this;
15542  }
15543 
15545  {
15546  memoryTypeBits = memoryTypeBits_;
15547  return *this;
15548  }
15549 
15550  operator const VkMemoryHostPointerPropertiesEXT&() const
15551  {
15552  return *reinterpret_cast<const VkMemoryHostPointerPropertiesEXT*>(this);
15553  }
15554 
15556  {
15557  return ( sType == rhs.sType )
15558  && ( pNext == rhs.pNext )
15559  && ( memoryTypeBits == rhs.memoryTypeBits );
15560  }
15561 
15563  {
15564  return !operator==( rhs );
15565  }
15566 
15567  private:
15569 
15570  public:
15571  void* pNext = nullptr;
15573  };
15574  static_assert( sizeof( MemoryHostPointerPropertiesEXT ) == sizeof( VkMemoryHostPointerPropertiesEXT ), "struct and wrapper have different size!" );
15575 
15577  {
15578  PhysicalDeviceExternalMemoryHostPropertiesEXT( DeviceSize minImportedHostPointerAlignment_ = 0 )
15579  : minImportedHostPointerAlignment( minImportedHostPointerAlignment_ )
15580  {
15581  }
15582 
15584  {
15585  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalMemoryHostPropertiesEXT ) );
15586  }
15587 
15589  {
15590  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalMemoryHostPropertiesEXT ) );
15591  return *this;
15592  }
15594  {
15595  pNext = pNext_;
15596  return *this;
15597  }
15598 
15600  {
15601  minImportedHostPointerAlignment = minImportedHostPointerAlignment_;
15602  return *this;
15603  }
15604 
15606  {
15607  return *reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(this);
15608  }
15609 
15611  {
15612  return ( sType == rhs.sType )
15613  && ( pNext == rhs.pNext )
15615  }
15616 
15618  {
15619  return !operator==( rhs );
15620  }
15621 
15622  private:
15624 
15625  public:
15626  void* pNext = nullptr;
15628  };
15629  static_assert( sizeof( PhysicalDeviceExternalMemoryHostPropertiesEXT ) == sizeof( VkPhysicalDeviceExternalMemoryHostPropertiesEXT ), "struct and wrapper have different size!" );
15630 
15632  {
15633  PhysicalDeviceConservativeRasterizationPropertiesEXT( float primitiveOverestimationSize_ = 0, float maxExtraPrimitiveOverestimationSize_ = 0, float extraPrimitiveOverestimationSizeGranularity_ = 0, Bool32 primitiveUnderestimation_ = 0, Bool32 conservativePointAndLineRasterization_ = 0, Bool32 degenerateTrianglesRasterized_ = 0, Bool32 degenerateLinesRasterized_ = 0, Bool32 fullyCoveredFragmentShaderInputVariable_ = 0, Bool32 conservativeRasterizationPostDepthCoverage_ = 0 )
15634  : primitiveOverestimationSize( primitiveOverestimationSize_ )
15635  , maxExtraPrimitiveOverestimationSize( maxExtraPrimitiveOverestimationSize_ )
15636  , extraPrimitiveOverestimationSizeGranularity( extraPrimitiveOverestimationSizeGranularity_ )
15637  , primitiveUnderestimation( primitiveUnderestimation_ )
15638  , conservativePointAndLineRasterization( conservativePointAndLineRasterization_ )
15639  , degenerateTrianglesRasterized( degenerateTrianglesRasterized_ )
15640  , degenerateLinesRasterized( degenerateLinesRasterized_ )
15641  , fullyCoveredFragmentShaderInputVariable( fullyCoveredFragmentShaderInputVariable_ )
15642  , conservativeRasterizationPostDepthCoverage( conservativeRasterizationPostDepthCoverage_ )
15643  {
15644  }
15645 
15647  {
15649  }
15650 
15652  {
15654  return *this;
15655  }
15657  {
15658  pNext = pNext_;
15659  return *this;
15660  }
15661 
15663  {
15664  primitiveOverestimationSize = primitiveOverestimationSize_;
15665  return *this;
15666  }
15667 
15669  {
15670  maxExtraPrimitiveOverestimationSize = maxExtraPrimitiveOverestimationSize_;
15671  return *this;
15672  }
15673 
15675  {
15676  extraPrimitiveOverestimationSizeGranularity = extraPrimitiveOverestimationSizeGranularity_;
15677  return *this;
15678  }
15679 
15681  {
15682  primitiveUnderestimation = primitiveUnderestimation_;
15683  return *this;
15684  }
15685 
15687  {
15688  conservativePointAndLineRasterization = conservativePointAndLineRasterization_;
15689  return *this;
15690  }
15691 
15693  {
15694  degenerateTrianglesRasterized = degenerateTrianglesRasterized_;
15695  return *this;
15696  }
15697 
15699  {
15700  degenerateLinesRasterized = degenerateLinesRasterized_;
15701  return *this;
15702  }
15703 
15705  {
15706  fullyCoveredFragmentShaderInputVariable = fullyCoveredFragmentShaderInputVariable_;
15707  return *this;
15708  }
15709 
15711  {
15712  conservativeRasterizationPostDepthCoverage = conservativeRasterizationPostDepthCoverage_;
15713  return *this;
15714  }
15715 
15717  {
15718  return *reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(this);
15719  }
15720 
15722  {
15723  return ( sType == rhs.sType )
15724  && ( pNext == rhs.pNext )
15734  }
15735 
15737  {
15738  return !operator==( rhs );
15739  }
15740 
15741  private:
15743 
15744  public:
15745  void* pNext = nullptr;
15755  };
15756  static_assert( sizeof( PhysicalDeviceConservativeRasterizationPropertiesEXT ) == sizeof( VkPhysicalDeviceConservativeRasterizationPropertiesEXT ), "struct and wrapper have different size!" );
15757 
15759  {
15761  {
15762  return *reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(this);
15763  }
15764 
15766  {
15767  return ( sType == rhs.sType )
15768  && ( pNext == rhs.pNext )
15769  && ( shaderEngineCount == rhs.shaderEngineCount )
15773  && ( wavefrontsPerSimd == rhs.wavefrontsPerSimd )
15774  && ( wavefrontSize == rhs.wavefrontSize )
15775  && ( sgprsPerSimd == rhs.sgprsPerSimd )
15776  && ( minSgprAllocation == rhs.minSgprAllocation )
15777  && ( maxSgprAllocation == rhs.maxSgprAllocation )
15779  && ( vgprsPerSimd == rhs.vgprsPerSimd )
15780  && ( minVgprAllocation == rhs.minVgprAllocation )
15781  && ( maxVgprAllocation == rhs.maxVgprAllocation )
15783  }
15784 
15786  {
15787  return !operator==( rhs );
15788  }
15789 
15790  private:
15792 
15793  public:
15794  void* pNext = nullptr;
15809  };
15810  static_assert( sizeof( PhysicalDeviceShaderCorePropertiesAMD ) == sizeof( VkPhysicalDeviceShaderCorePropertiesAMD ), "struct and wrapper have different size!" );
15811 
15813  {
15814  PhysicalDeviceDescriptorIndexingFeaturesEXT( Bool32 shaderInputAttachmentArrayDynamicIndexing_ = 0, Bool32 shaderUniformTexelBufferArrayDynamicIndexing_ = 0, Bool32 shaderStorageTexelBufferArrayDynamicIndexing_ = 0, Bool32 shaderUniformBufferArrayNonUniformIndexing_ = 0, Bool32 shaderSampledImageArrayNonUniformIndexing_ = 0, Bool32 shaderStorageBufferArrayNonUniformIndexing_ = 0, Bool32 shaderStorageImageArrayNonUniformIndexing_ = 0, Bool32 shaderInputAttachmentArrayNonUniformIndexing_ = 0, Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_ = 0, Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_ = 0, Bool32 descriptorBindingUniformBufferUpdateAfterBind_ = 0, Bool32 descriptorBindingSampledImageUpdateAfterBind_ = 0, Bool32 descriptorBindingStorageImageUpdateAfterBind_ = 0, Bool32 descriptorBindingStorageBufferUpdateAfterBind_ = 0, Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ = 0, Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ = 0, Bool32 descriptorBindingUpdateUnusedWhilePending_ = 0, Bool32 descriptorBindingPartiallyBound_ = 0, Bool32 descriptorBindingVariableDescriptorCount_ = 0, Bool32 runtimeDescriptorArray_ = 0 )
15815  : shaderInputAttachmentArrayDynamicIndexing( shaderInputAttachmentArrayDynamicIndexing_ )
15816  , shaderUniformTexelBufferArrayDynamicIndexing( shaderUniformTexelBufferArrayDynamicIndexing_ )
15817  , shaderStorageTexelBufferArrayDynamicIndexing( shaderStorageTexelBufferArrayDynamicIndexing_ )
15818  , shaderUniformBufferArrayNonUniformIndexing( shaderUniformBufferArrayNonUniformIndexing_ )
15819  , shaderSampledImageArrayNonUniformIndexing( shaderSampledImageArrayNonUniformIndexing_ )
15820  , shaderStorageBufferArrayNonUniformIndexing( shaderStorageBufferArrayNonUniformIndexing_ )
15821  , shaderStorageImageArrayNonUniformIndexing( shaderStorageImageArrayNonUniformIndexing_ )
15822  , shaderInputAttachmentArrayNonUniformIndexing( shaderInputAttachmentArrayNonUniformIndexing_ )
15823  , shaderUniformTexelBufferArrayNonUniformIndexing( shaderUniformTexelBufferArrayNonUniformIndexing_ )
15824  , shaderStorageTexelBufferArrayNonUniformIndexing( shaderStorageTexelBufferArrayNonUniformIndexing_ )
15825  , descriptorBindingUniformBufferUpdateAfterBind( descriptorBindingUniformBufferUpdateAfterBind_ )
15826  , descriptorBindingSampledImageUpdateAfterBind( descriptorBindingSampledImageUpdateAfterBind_ )
15827  , descriptorBindingStorageImageUpdateAfterBind( descriptorBindingStorageImageUpdateAfterBind_ )
15828  , descriptorBindingStorageBufferUpdateAfterBind( descriptorBindingStorageBufferUpdateAfterBind_ )
15829  , descriptorBindingUniformTexelBufferUpdateAfterBind( descriptorBindingUniformTexelBufferUpdateAfterBind_ )
15830  , descriptorBindingStorageTexelBufferUpdateAfterBind( descriptorBindingStorageTexelBufferUpdateAfterBind_ )
15831  , descriptorBindingUpdateUnusedWhilePending( descriptorBindingUpdateUnusedWhilePending_ )
15832  , descriptorBindingPartiallyBound( descriptorBindingPartiallyBound_ )
15833  , descriptorBindingVariableDescriptorCount( descriptorBindingVariableDescriptorCount_ )
15834  , runtimeDescriptorArray( runtimeDescriptorArray_ )
15835  {
15836  }
15837 
15839  {
15840  memcpy( this, &rhs, sizeof( PhysicalDeviceDescriptorIndexingFeaturesEXT ) );
15841  }
15842 
15844  {
15845  memcpy( this, &rhs, sizeof( PhysicalDeviceDescriptorIndexingFeaturesEXT ) );
15846  return *this;
15847  }
15849  {
15850  pNext = pNext_;
15851  return *this;
15852  }
15853 
15855  {
15856  shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing_;
15857  return *this;
15858  }
15859 
15861  {
15862  shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing_;
15863  return *this;
15864  }
15865 
15867  {
15868  shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing_;
15869  return *this;
15870  }
15871 
15873  {
15874  shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing_;
15875  return *this;
15876  }
15877 
15879  {
15880  shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing_;
15881  return *this;
15882  }
15883 
15885  {
15886  shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing_;
15887  return *this;
15888  }
15889 
15891  {
15892  shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing_;
15893  return *this;
15894  }
15895 
15897  {
15898  shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing_;
15899  return *this;
15900  }
15901 
15903  {
15904  shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing_;
15905  return *this;
15906  }
15907 
15909  {
15910  shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing_;
15911  return *this;
15912  }
15913 
15915  {
15916  descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind_;
15917  return *this;
15918  }
15919 
15921  {
15922  descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind_;
15923  return *this;
15924  }
15925 
15927  {
15928  descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind_;
15929  return *this;
15930  }
15931 
15933  {
15934  descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind_;
15935  return *this;
15936  }
15937 
15939  {
15940  descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind_;
15941  return *this;
15942  }
15943 
15945  {
15946  descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind_;
15947  return *this;
15948  }
15949 
15951  {
15952  descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending_;
15953  return *this;
15954  }
15955 
15957  {
15958  descriptorBindingPartiallyBound = descriptorBindingPartiallyBound_;
15959  return *this;
15960  }
15961 
15963  {
15964  descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount_;
15965  return *this;
15966  }
15967 
15969  {
15970  runtimeDescriptorArray = runtimeDescriptorArray_;
15971  return *this;
15972  }
15973 
15975  {
15976  return *reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(this);
15977  }
15978 
15980  {
15981  return ( sType == rhs.sType )
15982  && ( pNext == rhs.pNext )
16003  }
16004 
16006  {
16007  return !operator==( rhs );
16008  }
16009 
16010  private:
16012 
16013  public:
16014  void* pNext = nullptr;
16035  };
16036  static_assert( sizeof( PhysicalDeviceDescriptorIndexingFeaturesEXT ) == sizeof( VkPhysicalDeviceDescriptorIndexingFeaturesEXT ), "struct and wrapper have different size!" );
16037 
16039  {
16041  {
16042  return *reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(this);
16043  }
16044 
16046  {
16047  return ( sType == rhs.sType )
16048  && ( pNext == rhs.pNext )
16072  }
16073 
16075  {
16076  return !operator==( rhs );
16077  }
16078 
16079  private:
16081 
16082  public:
16083  void* pNext = nullptr;
16107  };
16108  static_assert( sizeof( PhysicalDeviceDescriptorIndexingPropertiesEXT ) == sizeof( VkPhysicalDeviceDescriptorIndexingPropertiesEXT ), "struct and wrapper have different size!" );
16109 
16111  {
16112  DescriptorSetVariableDescriptorCountAllocateInfoEXT( uint32_t descriptorSetCount_ = 0, const uint32_t* pDescriptorCounts_ = nullptr )
16113  : descriptorSetCount( descriptorSetCount_ )
16114  , pDescriptorCounts( pDescriptorCounts_ )
16115  {
16116  }
16117 
16119  {
16121  }
16122 
16124  {
16126  return *this;
16127  }
16129  {
16130  pNext = pNext_;
16131  return *this;
16132  }
16133 
16135  {
16136  descriptorSetCount = descriptorSetCount_;
16137  return *this;
16138  }
16139 
16141  {
16142  pDescriptorCounts = pDescriptorCounts_;
16143  return *this;
16144  }
16145 
16147  {
16148  return *reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(this);
16149  }
16150 
16152  {
16153  return ( sType == rhs.sType )
16154  && ( pNext == rhs.pNext )
16156  && ( pDescriptorCounts == rhs.pDescriptorCounts );
16157  }
16158 
16160  {
16161  return !operator==( rhs );
16162  }
16163 
16164  private:
16166 
16167  public:
16168  const void* pNext = nullptr;
16171  };
16172  static_assert( sizeof( DescriptorSetVariableDescriptorCountAllocateInfoEXT ) == sizeof( VkDescriptorSetVariableDescriptorCountAllocateInfoEXT ), "struct and wrapper have different size!" );
16173 
16175  {
16177  {
16178  return *reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(this);
16179  }
16180 
16182  {
16183  return ( sType == rhs.sType )
16184  && ( pNext == rhs.pNext )
16186  }
16187 
16189  {
16190  return !operator==( rhs );
16191  }
16192 
16193  private:
16195 
16196  public:
16197  void* pNext = nullptr;
16199  };
16200  static_assert( sizeof( DescriptorSetVariableDescriptorCountLayoutSupportEXT ) == sizeof( VkDescriptorSetVariableDescriptorCountLayoutSupportEXT ), "struct and wrapper have different size!" );
16201 
16203  {
16204  PipelineVertexInputDivisorStateCreateInfoEXT( uint32_t vertexBindingDivisorCount_ = 0, const VertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors_ = nullptr )
16205  : vertexBindingDivisorCount( vertexBindingDivisorCount_ )
16206  , pVertexBindingDivisors( pVertexBindingDivisors_ )
16207  {
16208  }
16209 
16211  {
16212  memcpy( this, &rhs, sizeof( PipelineVertexInputDivisorStateCreateInfoEXT ) );
16213  }
16214 
16216  {
16217  memcpy( this, &rhs, sizeof( PipelineVertexInputDivisorStateCreateInfoEXT ) );
16218  return *this;
16219  }
16221  {
16222  pNext = pNext_;
16223  return *this;
16224  }
16225 
16227  {
16228  vertexBindingDivisorCount = vertexBindingDivisorCount_;
16229  return *this;
16230  }
16231 
16233  {
16234  pVertexBindingDivisors = pVertexBindingDivisors_;
16235  return *this;
16236  }
16237 
16239  {
16240  return *reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(this);
16241  }
16242 
16244  {
16245  return ( sType == rhs.sType )
16246  && ( pNext == rhs.pNext )
16249  }
16250 
16252  {
16253  return !operator==( rhs );
16254  }
16255 
16256  private:
16258 
16259  public:
16260  const void* pNext = nullptr;
16263  };
16264  static_assert( sizeof( PipelineVertexInputDivisorStateCreateInfoEXT ) == sizeof( VkPipelineVertexInputDivisorStateCreateInfoEXT ), "struct and wrapper have different size!" );
16265 
16267  {
16269  : maxVertexAttribDivisor( maxVertexAttribDivisor_ )
16270  {
16271  }
16272 
16274  {
16276  }
16277 
16279  {
16281  return *this;
16282  }
16284  {
16285  pNext = pNext_;
16286  return *this;
16287  }
16288 
16290  {
16291  maxVertexAttribDivisor = maxVertexAttribDivisor_;
16292  return *this;
16293  }
16294 
16296  {
16297  return *reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(this);
16298  }
16299 
16301  {
16302  return ( sType == rhs.sType )
16303  && ( pNext == rhs.pNext )
16305  }
16306 
16308  {
16309  return !operator==( rhs );
16310  }
16311 
16312  private:
16314 
16315  public:
16316  void* pNext = nullptr;
16318  };
16319  static_assert( sizeof( PhysicalDeviceVertexAttributeDivisorPropertiesEXT ) == sizeof( VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT ), "struct and wrapper have different size!" );
16320 
16321 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
16322  struct ImportAndroidHardwareBufferInfoANDROID
16323  {
16324  ImportAndroidHardwareBufferInfoANDROID( struct AHardwareBuffer* buffer_ = nullptr )
16325  : buffer( buffer_ )
16326  {
16327  }
16328 
16329  ImportAndroidHardwareBufferInfoANDROID( VkImportAndroidHardwareBufferInfoANDROID const & rhs )
16330  {
16331  memcpy( this, &rhs, sizeof( ImportAndroidHardwareBufferInfoANDROID ) );
16332  }
16333 
16334  ImportAndroidHardwareBufferInfoANDROID& operator=( VkImportAndroidHardwareBufferInfoANDROID const & rhs )
16335  {
16336  memcpy( this, &rhs, sizeof( ImportAndroidHardwareBufferInfoANDROID ) );
16337  return *this;
16338  }
16339  ImportAndroidHardwareBufferInfoANDROID& setPNext( const void* pNext_ )
16340  {
16341  pNext = pNext_;
16342  return *this;
16343  }
16344 
16345  ImportAndroidHardwareBufferInfoANDROID& setBuffer( struct AHardwareBuffer* buffer_ )
16346  {
16347  buffer = buffer_;
16348  return *this;
16349  }
16350 
16351  operator const VkImportAndroidHardwareBufferInfoANDROID&() const
16352  {
16353  return *reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(this);
16354  }
16355 
16356  bool operator==( ImportAndroidHardwareBufferInfoANDROID const& rhs ) const
16357  {
16358  return ( sType == rhs.sType )
16359  && ( pNext == rhs.pNext )
16360  && ( buffer == rhs.buffer );
16361  }
16362 
16363  bool operator!=( ImportAndroidHardwareBufferInfoANDROID const& rhs ) const
16364  {
16365  return !operator==( rhs );
16366  }
16367 
16368  private:
16370 
16371  public:
16372  const void* pNext = nullptr;
16373  struct AHardwareBuffer* buffer;
16374  };
16375  static_assert( sizeof( ImportAndroidHardwareBufferInfoANDROID ) == sizeof( VkImportAndroidHardwareBufferInfoANDROID ), "struct and wrapper have different size!" );
16376 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
16377 
16378 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
16379  struct AndroidHardwareBufferUsageANDROID
16380  {
16381  operator const VkAndroidHardwareBufferUsageANDROID&() const
16382  {
16383  return *reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(this);
16384  }
16385 
16386  bool operator==( AndroidHardwareBufferUsageANDROID const& rhs ) const
16387  {
16388  return ( sType == rhs.sType )
16389  && ( pNext == rhs.pNext )
16390  && ( androidHardwareBufferUsage == rhs.androidHardwareBufferUsage );
16391  }
16392 
16393  bool operator!=( AndroidHardwareBufferUsageANDROID const& rhs ) const
16394  {
16395  return !operator==( rhs );
16396  }
16397 
16398  private:
16400 
16401  public:
16402  void* pNext = nullptr;
16403  uint64_t androidHardwareBufferUsage;
16404  };
16405  static_assert( sizeof( AndroidHardwareBufferUsageANDROID ) == sizeof( VkAndroidHardwareBufferUsageANDROID ), "struct and wrapper have different size!" );
16406 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
16407 
16408 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
16409  struct AndroidHardwareBufferPropertiesANDROID
16410  {
16411  operator const VkAndroidHardwareBufferPropertiesANDROID&() const
16412  {
16413  return *reinterpret_cast<const VkAndroidHardwareBufferPropertiesANDROID*>(this);
16414  }
16415 
16416  bool operator==( AndroidHardwareBufferPropertiesANDROID const& rhs ) const
16417  {
16418  return ( sType == rhs.sType )
16419  && ( pNext == rhs.pNext )
16420  && ( allocationSize == rhs.allocationSize )
16421  && ( memoryTypeBits == rhs.memoryTypeBits );
16422  }
16423 
16424  bool operator!=( AndroidHardwareBufferPropertiesANDROID const& rhs ) const
16425  {
16426  return !operator==( rhs );
16427  }
16428 
16429  private:
16431 
16432  public:
16433  void* pNext = nullptr;
16434  DeviceSize allocationSize;
16435  uint32_t memoryTypeBits;
16436  };
16437  static_assert( sizeof( AndroidHardwareBufferPropertiesANDROID ) == sizeof( VkAndroidHardwareBufferPropertiesANDROID ), "struct and wrapper have different size!" );
16438 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
16439 
16440 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
16441  struct MemoryGetAndroidHardwareBufferInfoANDROID
16442  {
16443  MemoryGetAndroidHardwareBufferInfoANDROID( DeviceMemory memory_ = DeviceMemory() )
16444  : memory( memory_ )
16445  {
16446  }
16447 
16448  MemoryGetAndroidHardwareBufferInfoANDROID( VkMemoryGetAndroidHardwareBufferInfoANDROID const & rhs )
16449  {
16450  memcpy( this, &rhs, sizeof( MemoryGetAndroidHardwareBufferInfoANDROID ) );
16451  }
16452 
16453  MemoryGetAndroidHardwareBufferInfoANDROID& operator=( VkMemoryGetAndroidHardwareBufferInfoANDROID const & rhs )
16454  {
16455  memcpy( this, &rhs, sizeof( MemoryGetAndroidHardwareBufferInfoANDROID ) );
16456  return *this;
16457  }
16458  MemoryGetAndroidHardwareBufferInfoANDROID& setPNext( const void* pNext_ )
16459  {
16460  pNext = pNext_;
16461  return *this;
16462  }
16463 
16464  MemoryGetAndroidHardwareBufferInfoANDROID& setMemory( DeviceMemory memory_ )
16465  {
16466  memory = memory_;
16467  return *this;
16468  }
16469 
16470  operator const VkMemoryGetAndroidHardwareBufferInfoANDROID&() const
16471  {
16472  return *reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID*>(this);
16473  }
16474 
16475  bool operator==( MemoryGetAndroidHardwareBufferInfoANDROID const& rhs ) const
16476  {
16477  return ( sType == rhs.sType )
16478  && ( pNext == rhs.pNext )
16479  && ( memory == rhs.memory );
16480  }
16481 
16482  bool operator!=( MemoryGetAndroidHardwareBufferInfoANDROID const& rhs ) const
16483  {
16484  return !operator==( rhs );
16485  }
16486 
16487  private:
16489 
16490  public:
16491  const void* pNext = nullptr;
16492  DeviceMemory memory;
16493  };
16494  static_assert( sizeof( MemoryGetAndroidHardwareBufferInfoANDROID ) == sizeof( VkMemoryGetAndroidHardwareBufferInfoANDROID ), "struct and wrapper have different size!" );
16495 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
16496 
16497 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
16498  struct ExternalFormatANDROID
16499  {
16500  ExternalFormatANDROID( uint64_t externalFormat_ = 0 )
16501  : externalFormat( externalFormat_ )
16502  {
16503  }
16504 
16505  ExternalFormatANDROID( VkExternalFormatANDROID const & rhs )
16506  {
16507  memcpy( this, &rhs, sizeof( ExternalFormatANDROID ) );
16508  }
16509 
16510  ExternalFormatANDROID& operator=( VkExternalFormatANDROID const & rhs )
16511  {
16512  memcpy( this, &rhs, sizeof( ExternalFormatANDROID ) );
16513  return *this;
16514  }
16515  ExternalFormatANDROID& setPNext( void* pNext_ )
16516  {
16517  pNext = pNext_;
16518  return *this;
16519  }
16520 
16521  ExternalFormatANDROID& setExternalFormat( uint64_t externalFormat_ )
16522  {
16523  externalFormat = externalFormat_;
16524  return *this;
16525  }
16526 
16527  operator const VkExternalFormatANDROID&() const
16528  {
16529  return *reinterpret_cast<const VkExternalFormatANDROID*>(this);
16530  }
16531 
16532  bool operator==( ExternalFormatANDROID const& rhs ) const
16533  {
16534  return ( sType == rhs.sType )
16535  && ( pNext == rhs.pNext )
16536  && ( externalFormat == rhs.externalFormat );
16537  }
16538 
16539  bool operator!=( ExternalFormatANDROID const& rhs ) const
16540  {
16541  return !operator==( rhs );
16542  }
16543 
16544  private:
16546 
16547  public:
16548  void* pNext = nullptr;
16549  uint64_t externalFormat;
16550  };
16551  static_assert( sizeof( ExternalFormatANDROID ) == sizeof( VkExternalFormatANDROID ), "struct and wrapper have different size!" );
16552 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
16553 
16554  enum class SubpassContents
16555  {
16558  };
16559 
16561  {
16562  PresentInfoKHR( uint32_t waitSemaphoreCount_ = 0, const Semaphore* pWaitSemaphores_ = nullptr, uint32_t swapchainCount_ = 0, const SwapchainKHR* pSwapchains_ = nullptr, const uint32_t* pImageIndices_ = nullptr, Result* pResults_ = nullptr )
16563  : waitSemaphoreCount( waitSemaphoreCount_ )
16564  , pWaitSemaphores( pWaitSemaphores_ )
16565  , swapchainCount( swapchainCount_ )
16566  , pSwapchains( pSwapchains_ )
16567  , pImageIndices( pImageIndices_ )
16568  , pResults( pResults_ )
16569  {
16570  }
16571 
16573  {
16574  memcpy( this, &rhs, sizeof( PresentInfoKHR ) );
16575  }
16576 
16578  {
16579  memcpy( this, &rhs, sizeof( PresentInfoKHR ) );
16580  return *this;
16581  }
16582  PresentInfoKHR& setPNext( const void* pNext_ )
16583  {
16584  pNext = pNext_;
16585  return *this;
16586  }
16587 
16589  {
16590  waitSemaphoreCount = waitSemaphoreCount_;
16591  return *this;
16592  }
16593 
16594  PresentInfoKHR& setPWaitSemaphores( const Semaphore* pWaitSemaphores_ )
16595  {
16596  pWaitSemaphores = pWaitSemaphores_;
16597  return *this;
16598  }
16599 
16601  {
16602  swapchainCount = swapchainCount_;
16603  return *this;
16604  }
16605 
16607  {
16608  pSwapchains = pSwapchains_;
16609  return *this;
16610  }
16611 
16612  PresentInfoKHR& setPImageIndices( const uint32_t* pImageIndices_ )
16613  {
16614  pImageIndices = pImageIndices_;
16615  return *this;
16616  }
16617 
16619  {
16620  pResults = pResults_;
16621  return *this;
16622  }
16623 
16624  operator const VkPresentInfoKHR&() const
16625  {
16626  return *reinterpret_cast<const VkPresentInfoKHR*>(this);
16627  }
16628 
16629  bool operator==( PresentInfoKHR const& rhs ) const
16630  {
16631  return ( sType == rhs.sType )
16632  && ( pNext == rhs.pNext )
16634  && ( pWaitSemaphores == rhs.pWaitSemaphores )
16635  && ( swapchainCount == rhs.swapchainCount )
16636  && ( pSwapchains == rhs.pSwapchains )
16637  && ( pImageIndices == rhs.pImageIndices )
16638  && ( pResults == rhs.pResults );
16639  }
16640 
16641  bool operator!=( PresentInfoKHR const& rhs ) const
16642  {
16643  return !operator==( rhs );
16644  }
16645 
16646  private:
16648 
16649  public:
16650  const void* pNext = nullptr;
16657  };
16658  static_assert( sizeof( PresentInfoKHR ) == sizeof( VkPresentInfoKHR ), "struct and wrapper have different size!" );
16659 
16660  enum class DynamicState
16661  {
16674  };
16675 
16677  {
16678  PipelineDynamicStateCreateInfo( PipelineDynamicStateCreateFlags flags_ = PipelineDynamicStateCreateFlags(), uint32_t dynamicStateCount_ = 0, const DynamicState* pDynamicStates_ = nullptr )
16679  : flags( flags_ )
16680  , dynamicStateCount( dynamicStateCount_ )
16681  , pDynamicStates( pDynamicStates_ )
16682  {
16683  }
16684 
16686  {
16687  memcpy( this, &rhs, sizeof( PipelineDynamicStateCreateInfo ) );
16688  }
16689 
16691  {
16692  memcpy( this, &rhs, sizeof( PipelineDynamicStateCreateInfo ) );
16693  return *this;
16694  }
16696  {
16697  pNext = pNext_;
16698  return *this;
16699  }
16700 
16702  {
16703  flags = flags_;
16704  return *this;
16705  }
16706 
16708  {
16709  dynamicStateCount = dynamicStateCount_;
16710  return *this;
16711  }
16712 
16714  {
16715  pDynamicStates = pDynamicStates_;
16716  return *this;
16717  }
16718 
16719  operator const VkPipelineDynamicStateCreateInfo&() const
16720  {
16721  return *reinterpret_cast<const VkPipelineDynamicStateCreateInfo*>(this);
16722  }
16723 
16725  {
16726  return ( sType == rhs.sType )
16727  && ( pNext == rhs.pNext )
16728  && ( flags == rhs.flags )
16729  && ( dynamicStateCount == rhs.dynamicStateCount )
16730  && ( pDynamicStates == rhs.pDynamicStates );
16731  }
16732 
16734  {
16735  return !operator==( rhs );
16736  }
16737 
16738  private:
16740 
16741  public:
16742  const void* pNext = nullptr;
16746  };
16747  static_assert( sizeof( PipelineDynamicStateCreateInfo ) == sizeof( VkPipelineDynamicStateCreateInfo ), "struct and wrapper have different size!" );
16748 
16750  {
16754  };
16755 
16757  {
16759  : flags( flags_ )
16760  , descriptorUpdateEntryCount( descriptorUpdateEntryCount_ )
16761  , pDescriptorUpdateEntries( pDescriptorUpdateEntries_ )
16762  , templateType( templateType_ )
16763  , descriptorSetLayout( descriptorSetLayout_ )
16764  , pipelineBindPoint( pipelineBindPoint_ )
16765  , pipelineLayout( pipelineLayout_ )
16766  , set( set_ )
16767  {
16768  }
16769 
16771  {
16772  memcpy( this, &rhs, sizeof( DescriptorUpdateTemplateCreateInfo ) );
16773  }
16774 
16776  {
16777  memcpy( this, &rhs, sizeof( DescriptorUpdateTemplateCreateInfo ) );
16778  return *this;
16779  }
16781  {
16782  pNext = pNext_;
16783  return *this;
16784  }
16785 
16787  {
16788  flags = flags_;
16789  return *this;
16790  }
16791 
16793  {
16794  descriptorUpdateEntryCount = descriptorUpdateEntryCount_;
16795  return *this;
16796  }
16797 
16799  {
16800  pDescriptorUpdateEntries = pDescriptorUpdateEntries_;
16801  return *this;
16802  }
16803 
16805  {
16806  templateType = templateType_;
16807  return *this;
16808  }
16809 
16811  {
16812  descriptorSetLayout = descriptorSetLayout_;
16813  return *this;
16814  }
16815 
16817  {
16818  pipelineBindPoint = pipelineBindPoint_;
16819  return *this;
16820  }
16821 
16823  {
16824  pipelineLayout = pipelineLayout_;
16825  return *this;
16826  }
16827 
16829  {
16830  set = set_;
16831  return *this;
16832  }
16833 
16835  {
16836  return *reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo*>(this);
16837  }
16838 
16840  {
16841  return ( sType == rhs.sType )
16842  && ( pNext == rhs.pNext )
16843  && ( flags == rhs.flags )
16846  && ( templateType == rhs.templateType )
16848  && ( pipelineBindPoint == rhs.pipelineBindPoint )
16849  && ( pipelineLayout == rhs.pipelineLayout )
16850  && ( set == rhs.set );
16851  }
16852 
16854  {
16855  return !operator==( rhs );
16856  }
16857 
16858  private:
16860 
16861  public:
16862  void* pNext = nullptr;
16871  };
16872  static_assert( sizeof( DescriptorUpdateTemplateCreateInfo ) == sizeof( VkDescriptorUpdateTemplateCreateInfo ), "struct and wrapper have different size!" );
16873 
16875 
16876  enum class ObjectType
16877  {
16917  };
16918 
16920  {
16921  DebugUtilsObjectNameInfoEXT( ObjectType objectType_ = ObjectType::eUnknown, uint64_t objectHandle_ = 0, const char* pObjectName_ = nullptr )
16922  : objectType( objectType_ )
16923  , objectHandle( objectHandle_ )
16924  , pObjectName( pObjectName_ )
16925  {
16926  }
16927 
16929  {
16930  memcpy( this, &rhs, sizeof( DebugUtilsObjectNameInfoEXT ) );
16931  }
16932 
16934  {
16935  memcpy( this, &rhs, sizeof( DebugUtilsObjectNameInfoEXT ) );
16936  return *this;
16937  }
16938  DebugUtilsObjectNameInfoEXT& setPNext( const void* pNext_ )
16939  {
16940  pNext = pNext_;
16941  return *this;
16942  }
16943 
16945  {
16946  objectType = objectType_;
16947  return *this;
16948  }
16949 
16951  {
16952  objectHandle = objectHandle_;
16953  return *this;
16954  }
16955 
16956  DebugUtilsObjectNameInfoEXT& setPObjectName( const char* pObjectName_ )
16957  {
16958  pObjectName = pObjectName_;
16959  return *this;
16960  }
16961 
16962  operator const VkDebugUtilsObjectNameInfoEXT&() const
16963  {
16964  return *reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>(this);
16965  }
16966 
16967  bool operator==( DebugUtilsObjectNameInfoEXT const& rhs ) const
16968  {
16969  return ( sType == rhs.sType )
16970  && ( pNext == rhs.pNext )
16971  && ( objectType == rhs.objectType )
16972  && ( objectHandle == rhs.objectHandle )
16973  && ( pObjectName == rhs.pObjectName );
16974  }
16975 
16976  bool operator!=( DebugUtilsObjectNameInfoEXT const& rhs ) const
16977  {
16978  return !operator==( rhs );
16979  }
16980 
16981  private:
16983 
16984  public:
16985  const void* pNext = nullptr;
16988  const char* pObjectName;
16989  };
16990  static_assert( sizeof( DebugUtilsObjectNameInfoEXT ) == sizeof( VkDebugUtilsObjectNameInfoEXT ), "struct and wrapper have different size!" );
16991 
16993  {
16994  DebugUtilsObjectTagInfoEXT( ObjectType objectType_ = ObjectType::eUnknown, uint64_t objectHandle_ = 0, uint64_t tagName_ = 0, size_t tagSize_ = 0, const void* pTag_ = nullptr )
16995  : objectType( objectType_ )
16996  , objectHandle( objectHandle_ )
16997  , tagName( tagName_ )
16998  , tagSize( tagSize_ )
16999  , pTag( pTag_ )
17000  {
17001  }
17002 
17004  {
17005  memcpy( this, &rhs, sizeof( DebugUtilsObjectTagInfoEXT ) );
17006  }
17007 
17009  {
17010  memcpy( this, &rhs, sizeof( DebugUtilsObjectTagInfoEXT ) );
17011  return *this;
17012  }
17013  DebugUtilsObjectTagInfoEXT& setPNext( const void* pNext_ )
17014  {
17015  pNext = pNext_;
17016  return *this;
17017  }
17018 
17020  {
17021  objectType = objectType_;
17022  return *this;
17023  }
17024 
17026  {
17027  objectHandle = objectHandle_;
17028  return *this;
17029  }
17030 
17032  {
17033  tagName = tagName_;
17034  return *this;
17035  }
17036 
17038  {
17039  tagSize = tagSize_;
17040  return *this;
17041  }
17042 
17043  DebugUtilsObjectTagInfoEXT& setPTag( const void* pTag_ )
17044  {
17045  pTag = pTag_;
17046  return *this;
17047  }
17048 
17049  operator const VkDebugUtilsObjectTagInfoEXT&() const
17050  {
17051  return *reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT*>(this);
17052  }
17053 
17054  bool operator==( DebugUtilsObjectTagInfoEXT const& rhs ) const
17055  {
17056  return ( sType == rhs.sType )
17057  && ( pNext == rhs.pNext )
17058  && ( objectType == rhs.objectType )
17059  && ( objectHandle == rhs.objectHandle )
17060  && ( tagName == rhs.tagName )
17061  && ( tagSize == rhs.tagSize )
17062  && ( pTag == rhs.pTag );
17063  }
17064 
17065  bool operator!=( DebugUtilsObjectTagInfoEXT const& rhs ) const
17066  {
17067  return !operator==( rhs );
17068  }
17069 
17070  private:
17072 
17073  public:
17074  const void* pNext = nullptr;
17078  size_t tagSize;
17079  const void* pTag;
17080  };
17081  static_assert( sizeof( DebugUtilsObjectTagInfoEXT ) == sizeof( VkDebugUtilsObjectTagInfoEXT ), "struct and wrapper have different size!" );
17082 
17084  {
17085  DebugUtilsMessengerCallbackDataEXT( DebugUtilsMessengerCallbackDataFlagsEXT flags_ = DebugUtilsMessengerCallbackDataFlagsEXT(), const char* pMessageIdName_ = nullptr, int32_t messageIdNumber_ = 0, const char* pMessage_ = nullptr, uint32_t queueLabelCount_ = 0, DebugUtilsLabelEXT* pQueueLabels_ = nullptr, uint32_t cmdBufLabelCount_ = 0, DebugUtilsLabelEXT* pCmdBufLabels_ = nullptr, uint32_t objectCount_ = 0, DebugUtilsObjectNameInfoEXT* pObjects_ = nullptr )
17086  : flags( flags_ )
17087  , pMessageIdName( pMessageIdName_ )
17088  , messageIdNumber( messageIdNumber_ )
17089  , pMessage( pMessage_ )
17090  , queueLabelCount( queueLabelCount_ )
17091  , pQueueLabels( pQueueLabels_ )
17092  , cmdBufLabelCount( cmdBufLabelCount_ )
17093  , pCmdBufLabels( pCmdBufLabels_ )
17094  , objectCount( objectCount_ )
17095  , pObjects( pObjects_ )
17096  {
17097  }
17098 
17100  {
17101  memcpy( this, &rhs, sizeof( DebugUtilsMessengerCallbackDataEXT ) );
17102  }
17103 
17105  {
17106  memcpy( this, &rhs, sizeof( DebugUtilsMessengerCallbackDataEXT ) );
17107  return *this;
17108  }
17110  {
17111  pNext = pNext_;
17112  return *this;
17113  }
17114 
17116  {
17117  flags = flags_;
17118  return *this;
17119  }
17120 
17122  {
17123  pMessageIdName = pMessageIdName_;
17124  return *this;
17125  }
17126 
17128  {
17129  messageIdNumber = messageIdNumber_;
17130  return *this;
17131  }
17132 
17134  {
17135  pMessage = pMessage_;
17136  return *this;
17137  }
17138 
17140  {
17141  queueLabelCount = queueLabelCount_;
17142  return *this;
17143  }
17144 
17146  {
17147  pQueueLabels = pQueueLabels_;
17148  return *this;
17149  }
17150 
17152  {
17153  cmdBufLabelCount = cmdBufLabelCount_;
17154  return *this;
17155  }
17156 
17158  {
17159  pCmdBufLabels = pCmdBufLabels_;
17160  return *this;
17161  }
17162 
17164  {
17165  objectCount = objectCount_;
17166  return *this;
17167  }
17168 
17170  {
17171  pObjects = pObjects_;
17172  return *this;
17173  }
17174 
17176  {
17177  return *reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT*>(this);
17178  }
17179 
17181  {
17182  return ( sType == rhs.sType )
17183  && ( pNext == rhs.pNext )
17184  && ( flags == rhs.flags )
17185  && ( pMessageIdName == rhs.pMessageIdName )
17186  && ( messageIdNumber == rhs.messageIdNumber )
17187  && ( pMessage == rhs.pMessage )
17188  && ( queueLabelCount == rhs.queueLabelCount )
17189  && ( pQueueLabels == rhs.pQueueLabels )
17190  && ( cmdBufLabelCount == rhs.cmdBufLabelCount )
17191  && ( pCmdBufLabels == rhs.pCmdBufLabels )
17192  && ( objectCount == rhs.objectCount )
17193  && ( pObjects == rhs.pObjects );
17194  }
17195 
17197  {
17198  return !operator==( rhs );
17199  }
17200 
17201  private:
17203 
17204  public:
17205  const void* pNext = nullptr;
17207  const char* pMessageIdName;
17209  const char* pMessage;
17216  };
17217  static_assert( sizeof( DebugUtilsMessengerCallbackDataEXT ) == sizeof( VkDebugUtilsMessengerCallbackDataEXT ), "struct and wrapper have different size!" );
17218 
17219  enum class QueueFlagBits
17220  {
17226  };
17227 
17229 
17231  {
17232  return QueueFlags( bit0 ) | bit1;
17233  }
17234 
17236  {
17237  return ~( QueueFlags( bits ) );
17238  }
17239 
17240  template <> struct FlagTraits<QueueFlagBits>
17241  {
17242  enum
17243  {
17245  };
17246  };
17247 
17249  {
17250  operator const VkQueueFamilyProperties&() const
17251  {
17252  return *reinterpret_cast<const VkQueueFamilyProperties*>(this);
17253  }
17254 
17255  bool operator==( QueueFamilyProperties const& rhs ) const
17256  {
17257  return ( queueFlags == rhs.queueFlags )
17258  && ( queueCount == rhs.queueCount )
17261  }
17262 
17263  bool operator!=( QueueFamilyProperties const& rhs ) const
17264  {
17265  return !operator==( rhs );
17266  }
17267 
17272  };
17273  static_assert( sizeof( QueueFamilyProperties ) == sizeof( VkQueueFamilyProperties ), "struct and wrapper have different size!" );
17274 
17276  {
17277  operator const VkQueueFamilyProperties2&() const
17278  {
17279  return *reinterpret_cast<const VkQueueFamilyProperties2*>(this);
17280  }
17281 
17282  bool operator==( QueueFamilyProperties2 const& rhs ) const
17283  {
17284  return ( sType == rhs.sType )
17285  && ( pNext == rhs.pNext )
17287  }
17288 
17289  bool operator!=( QueueFamilyProperties2 const& rhs ) const
17290  {
17291  return !operator==( rhs );
17292  }
17293 
17294  private:
17296 
17297  public:
17298  void* pNext = nullptr;
17300  };
17301  static_assert( sizeof( QueueFamilyProperties2 ) == sizeof( VkQueueFamilyProperties2 ), "struct and wrapper have different size!" );
17302 
17304 
17306  {
17308  };
17309 
17311 
17313  {
17314  return DeviceQueueCreateFlags( bit0 ) | bit1;
17315  }
17316 
17318  {
17319  return ~( DeviceQueueCreateFlags( bits ) );
17320  }
17321 
17323  {
17324  enum
17325  {
17327  };
17328  };
17329 
17331  {
17332  DeviceQueueCreateInfo( DeviceQueueCreateFlags flags_ = DeviceQueueCreateFlags(), uint32_t queueFamilyIndex_ = 0, uint32_t queueCount_ = 0, const float* pQueuePriorities_ = nullptr )
17333  : flags( flags_ )
17334  , queueFamilyIndex( queueFamilyIndex_ )
17335  , queueCount( queueCount_ )
17336  , pQueuePriorities( pQueuePriorities_ )
17337  {
17338  }
17339 
17341  {
17342  memcpy( this, &rhs, sizeof( DeviceQueueCreateInfo ) );
17343  }
17344 
17346  {
17347  memcpy( this, &rhs, sizeof( DeviceQueueCreateInfo ) );
17348  return *this;
17349  }
17350  DeviceQueueCreateInfo& setPNext( const void* pNext_ )
17351  {
17352  pNext = pNext_;
17353  return *this;
17354  }
17355 
17357  {
17358  flags = flags_;
17359  return *this;
17360  }
17361 
17363  {
17364  queueFamilyIndex = queueFamilyIndex_;
17365  return *this;
17366  }
17367 
17369  {
17370  queueCount = queueCount_;
17371  return *this;
17372  }
17373 
17374  DeviceQueueCreateInfo& setPQueuePriorities( const float* pQueuePriorities_ )
17375  {
17376  pQueuePriorities = pQueuePriorities_;
17377  return *this;
17378  }
17379 
17380  operator const VkDeviceQueueCreateInfo&() const
17381  {
17382  return *reinterpret_cast<const VkDeviceQueueCreateInfo*>(this);
17383  }
17384 
17385  bool operator==( DeviceQueueCreateInfo const& rhs ) const
17386  {
17387  return ( sType == rhs.sType )
17388  && ( pNext == rhs.pNext )
17389  && ( flags == rhs.flags )
17390  && ( queueFamilyIndex == rhs.queueFamilyIndex )
17391  && ( queueCount == rhs.queueCount )
17392  && ( pQueuePriorities == rhs.pQueuePriorities );
17393  }
17394 
17395  bool operator!=( DeviceQueueCreateInfo const& rhs ) const
17396  {
17397  return !operator==( rhs );
17398  }
17399 
17400  private:
17402 
17403  public:
17404  const void* pNext = nullptr;
17408  const float* pQueuePriorities;
17409  };
17410  static_assert( sizeof( DeviceQueueCreateInfo ) == sizeof( VkDeviceQueueCreateInfo ), "struct and wrapper have different size!" );
17411 
17413  {
17414  DeviceCreateInfo( DeviceCreateFlags flags_ = DeviceCreateFlags(), uint32_t queueCreateInfoCount_ = 0, const DeviceQueueCreateInfo* pQueueCreateInfos_ = nullptr, uint32_t enabledLayerCount_ = 0, const char* const* ppEnabledLayerNames_ = nullptr, uint32_t enabledExtensionCount_ = 0, const char* const* ppEnabledExtensionNames_ = nullptr, const PhysicalDeviceFeatures* pEnabledFeatures_ = nullptr )
17415  : flags( flags_ )
17416  , queueCreateInfoCount( queueCreateInfoCount_ )
17417  , pQueueCreateInfos( pQueueCreateInfos_ )
17418  , enabledLayerCount( enabledLayerCount_ )
17419  , ppEnabledLayerNames( ppEnabledLayerNames_ )
17420  , enabledExtensionCount( enabledExtensionCount_ )
17421  , ppEnabledExtensionNames( ppEnabledExtensionNames_ )
17422  , pEnabledFeatures( pEnabledFeatures_ )
17423  {
17424  }
17425 
17427  {
17428  memcpy( this, &rhs, sizeof( DeviceCreateInfo ) );
17429  }
17430 
17432  {
17433  memcpy( this, &rhs, sizeof( DeviceCreateInfo ) );
17434  return *this;
17435  }
17436  DeviceCreateInfo& setPNext( const void* pNext_ )
17437  {
17438  pNext = pNext_;
17439  return *this;
17440  }
17441 
17443  {
17444  flags = flags_;
17445  return *this;
17446  }
17447 
17449  {
17450  queueCreateInfoCount = queueCreateInfoCount_;
17451  return *this;
17452  }
17453 
17455  {
17456  pQueueCreateInfos = pQueueCreateInfos_;
17457  return *this;
17458  }
17459 
17461  {
17462  enabledLayerCount = enabledLayerCount_;
17463  return *this;
17464  }
17465 
17466  DeviceCreateInfo& setPpEnabledLayerNames( const char* const* ppEnabledLayerNames_ )
17467  {
17468  ppEnabledLayerNames = ppEnabledLayerNames_;
17469  return *this;
17470  }
17471 
17473  {
17474  enabledExtensionCount = enabledExtensionCount_;
17475  return *this;
17476  }
17477 
17478  DeviceCreateInfo& setPpEnabledExtensionNames( const char* const* ppEnabledExtensionNames_ )
17479  {
17480  ppEnabledExtensionNames = ppEnabledExtensionNames_;
17481  return *this;
17482  }
17483 
17485  {
17486  pEnabledFeatures = pEnabledFeatures_;
17487  return *this;
17488  }
17489 
17490  operator const VkDeviceCreateInfo&() const
17491  {
17492  return *reinterpret_cast<const VkDeviceCreateInfo*>(this);
17493  }
17494 
17495  bool operator==( DeviceCreateInfo const& rhs ) const
17496  {
17497  return ( sType == rhs.sType )
17498  && ( pNext == rhs.pNext )
17499  && ( flags == rhs.flags )
17501  && ( pQueueCreateInfos == rhs.pQueueCreateInfos )
17502  && ( enabledLayerCount == rhs.enabledLayerCount )
17506  && ( pEnabledFeatures == rhs.pEnabledFeatures );
17507  }
17508 
17509  bool operator!=( DeviceCreateInfo const& rhs ) const
17510  {
17511  return !operator==( rhs );
17512  }
17513 
17514  private:
17516 
17517  public:
17518  const void* pNext = nullptr;
17523  const char* const* ppEnabledLayerNames;
17525  const char* const* ppEnabledExtensionNames;
17527  };
17528  static_assert( sizeof( DeviceCreateInfo ) == sizeof( VkDeviceCreateInfo ), "struct and wrapper have different size!" );
17529 
17531  {
17532  DeviceQueueInfo2( DeviceQueueCreateFlags flags_ = DeviceQueueCreateFlags(), uint32_t queueFamilyIndex_ = 0, uint32_t queueIndex_ = 0 )
17533  : flags( flags_ )
17534  , queueFamilyIndex( queueFamilyIndex_ )
17535  , queueIndex( queueIndex_ )
17536  {
17537  }
17538 
17540  {
17541  memcpy( this, &rhs, sizeof( DeviceQueueInfo2 ) );
17542  }
17543 
17545  {
17546  memcpy( this, &rhs, sizeof( DeviceQueueInfo2 ) );
17547  return *this;
17548  }
17549  DeviceQueueInfo2& setPNext( const void* pNext_ )
17550  {
17551  pNext = pNext_;
17552  return *this;
17553  }
17554 
17556  {
17557  flags = flags_;
17558  return *this;
17559  }
17560 
17562  {
17563  queueFamilyIndex = queueFamilyIndex_;
17564  return *this;
17565  }
17566 
17568  {
17569  queueIndex = queueIndex_;
17570  return *this;
17571  }
17572 
17573  operator const VkDeviceQueueInfo2&() const
17574  {
17575  return *reinterpret_cast<const VkDeviceQueueInfo2*>(this);
17576  }
17577 
17578  bool operator==( DeviceQueueInfo2 const& rhs ) const
17579  {
17580  return ( sType == rhs.sType )
17581  && ( pNext == rhs.pNext )
17582  && ( flags == rhs.flags )
17583  && ( queueFamilyIndex == rhs.queueFamilyIndex )
17584  && ( queueIndex == rhs.queueIndex );
17585  }
17586 
17587  bool operator!=( DeviceQueueInfo2 const& rhs ) const
17588  {
17589  return !operator==( rhs );
17590  }
17591 
17592  private:
17594 
17595  public:
17596  const void* pNext = nullptr;
17600  };
17601  static_assert( sizeof( DeviceQueueInfo2 ) == sizeof( VkDeviceQueueInfo2 ), "struct and wrapper have different size!" );
17602 
17604  {
17611  };
17612 
17614 
17616  {
17617  return MemoryPropertyFlags( bit0 ) | bit1;
17618  }
17619 
17621  {
17622  return ~( MemoryPropertyFlags( bits ) );
17623  }
17624 
17626  {
17627  enum
17628  {
17630  };
17631  };
17632 
17633  struct MemoryType
17634  {
17635  operator const VkMemoryType&() const
17636  {
17637  return *reinterpret_cast<const VkMemoryType*>(this);
17638  }
17639 
17640  bool operator==( MemoryType const& rhs ) const
17641  {
17642  return ( propertyFlags == rhs.propertyFlags )
17643  && ( heapIndex == rhs.heapIndex );
17644  }
17645 
17646  bool operator!=( MemoryType const& rhs ) const
17647  {
17648  return !operator==( rhs );
17649  }
17650 
17653  };
17654  static_assert( sizeof( MemoryType ) == sizeof( VkMemoryType ), "struct and wrapper have different size!" );
17655 
17657  {
17661  };
17662 
17664 
17666  {
17667  return MemoryHeapFlags( bit0 ) | bit1;
17668  }
17669 
17671  {
17672  return ~( MemoryHeapFlags( bits ) );
17673  }
17674 
17675  template <> struct FlagTraits<MemoryHeapFlagBits>
17676  {
17677  enum
17678  {
17680  };
17681  };
17682 
17683  struct MemoryHeap
17684  {
17685  operator const VkMemoryHeap&() const
17686  {
17687  return *reinterpret_cast<const VkMemoryHeap*>(this);
17688  }
17689 
17690  bool operator==( MemoryHeap const& rhs ) const
17691  {
17692  return ( size == rhs.size )
17693  && ( flags == rhs.flags );
17694  }
17695 
17696  bool operator!=( MemoryHeap const& rhs ) const
17697  {
17698  return !operator==( rhs );
17699  }
17700 
17703  };
17704  static_assert( sizeof( MemoryHeap ) == sizeof( VkMemoryHeap ), "struct and wrapper have different size!" );
17705 
17707  {
17708  operator const VkPhysicalDeviceMemoryProperties&() const
17709  {
17710  return *reinterpret_cast<const VkPhysicalDeviceMemoryProperties*>(this);
17711  }
17712 
17714  {
17715  return ( memoryTypeCount == rhs.memoryTypeCount )
17716  && ( memcmp( memoryTypes, rhs.memoryTypes, VK_MAX_MEMORY_TYPES * sizeof( MemoryType ) ) == 0 )
17717  && ( memoryHeapCount == rhs.memoryHeapCount )
17718  && ( memcmp( memoryHeaps, rhs.memoryHeaps, VK_MAX_MEMORY_HEAPS * sizeof( MemoryHeap ) ) == 0 );
17719  }
17720 
17722  {
17723  return !operator==( rhs );
17724  }
17725 
17730  };
17731  static_assert( sizeof( PhysicalDeviceMemoryProperties ) == sizeof( VkPhysicalDeviceMemoryProperties ), "struct and wrapper have different size!" );
17732 
17734  {
17735  operator const VkPhysicalDeviceMemoryProperties2&() const
17736  {
17737  return *reinterpret_cast<const VkPhysicalDeviceMemoryProperties2*>(this);
17738  }
17739 
17741  {
17742  return ( sType == rhs.sType )
17743  && ( pNext == rhs.pNext )
17744  && ( memoryProperties == rhs.memoryProperties );
17745  }
17746 
17748  {
17749  return !operator==( rhs );
17750  }
17751 
17752  private:
17754 
17755  public:
17756  void* pNext = nullptr;
17758  };
17759  static_assert( sizeof( PhysicalDeviceMemoryProperties2 ) == sizeof( VkPhysicalDeviceMemoryProperties2 ), "struct and wrapper have different size!" );
17760 
17762 
17763  enum class AccessFlagBits
17764  {
17785  };
17786 
17788 
17790  {
17791  return AccessFlags( bit0 ) | bit1;
17792  }
17793 
17795  {
17796  return ~( AccessFlags( bits ) );
17797  }
17798 
17799  template <> struct FlagTraits<AccessFlagBits>
17800  {
17801  enum
17802  {
17804  };
17805  };
17806 
17808  {
17809  MemoryBarrier( AccessFlags srcAccessMask_ = AccessFlags(), AccessFlags dstAccessMask_ = AccessFlags() )
17810  : srcAccessMask( srcAccessMask_ )
17811  , dstAccessMask( dstAccessMask_ )
17812  {
17813  }
17814 
17816  {
17817  memcpy( this, &rhs, sizeof( MemoryBarrier ) );
17818  }
17819 
17821  {
17822  memcpy( this, &rhs, sizeof( MemoryBarrier ) );
17823  return *this;
17824  }
17825  MemoryBarrier& setPNext( const void* pNext_ )
17826  {
17827  pNext = pNext_;
17828  return *this;
17829  }
17830 
17832  {
17833  srcAccessMask = srcAccessMask_;
17834  return *this;
17835  }
17836 
17838  {
17839  dstAccessMask = dstAccessMask_;
17840  return *this;
17841  }
17842 
17843  operator const VkMemoryBarrier&() const
17844  {
17845  return *reinterpret_cast<const VkMemoryBarrier*>(this);
17846  }
17847 
17848  bool operator==( MemoryBarrier const& rhs ) const
17849  {
17850  return ( sType == rhs.sType )
17851  && ( pNext == rhs.pNext )
17852  && ( srcAccessMask == rhs.srcAccessMask )
17853  && ( dstAccessMask == rhs.dstAccessMask );
17854  }
17855 
17856  bool operator!=( MemoryBarrier const& rhs ) const
17857  {
17858  return !operator==( rhs );
17859  }
17860 
17861  private:
17863 
17864  public:
17865  const void* pNext = nullptr;
17868  };
17869  static_assert( sizeof( MemoryBarrier ) == sizeof( VkMemoryBarrier ), "struct and wrapper have different size!" );
17870 
17872  {
17873  BufferMemoryBarrier( AccessFlags srcAccessMask_ = AccessFlags(), AccessFlags dstAccessMask_ = AccessFlags(), uint32_t srcQueueFamilyIndex_ = 0, uint32_t dstQueueFamilyIndex_ = 0, Buffer buffer_ = Buffer(), DeviceSize offset_ = 0, DeviceSize size_ = 0 )
17874  : srcAccessMask( srcAccessMask_ )
17875  , dstAccessMask( dstAccessMask_ )
17876  , srcQueueFamilyIndex( srcQueueFamilyIndex_ )
17877  , dstQueueFamilyIndex( dstQueueFamilyIndex_ )
17878  , buffer( buffer_ )
17879  , offset( offset_ )
17880  , size( size_ )
17881  {
17882  }
17883 
17885  {
17886  memcpy( this, &rhs, sizeof( BufferMemoryBarrier ) );
17887  }
17888 
17890  {
17891  memcpy( this, &rhs, sizeof( BufferMemoryBarrier ) );
17892  return *this;
17893  }
17894  BufferMemoryBarrier& setPNext( const void* pNext_ )
17895  {
17896  pNext = pNext_;
17897  return *this;
17898  }
17899 
17901  {
17902  srcAccessMask = srcAccessMask_;
17903  return *this;
17904  }
17905 
17907  {
17908  dstAccessMask = dstAccessMask_;
17909  return *this;
17910  }
17911 
17913  {
17914  srcQueueFamilyIndex = srcQueueFamilyIndex_;
17915  return *this;
17916  }
17917 
17919  {
17920  dstQueueFamilyIndex = dstQueueFamilyIndex_;
17921  return *this;
17922  }
17923 
17925  {
17926  buffer = buffer_;
17927  return *this;
17928  }
17929 
17931  {
17932  offset = offset_;
17933  return *this;
17934  }
17935 
17937  {
17938  size = size_;
17939  return *this;
17940  }
17941 
17942  operator const VkBufferMemoryBarrier&() const
17943  {
17944  return *reinterpret_cast<const VkBufferMemoryBarrier*>(this);
17945  }
17946 
17947  bool operator==( BufferMemoryBarrier const& rhs ) const
17948  {
17949  return ( sType == rhs.sType )
17950  && ( pNext == rhs.pNext )
17951  && ( srcAccessMask == rhs.srcAccessMask )
17952  && ( dstAccessMask == rhs.dstAccessMask )
17955  && ( buffer == rhs.buffer )
17956  && ( offset == rhs.offset )
17957  && ( size == rhs.size );
17958  }
17959 
17960  bool operator!=( BufferMemoryBarrier const& rhs ) const
17961  {
17962  return !operator==( rhs );
17963  }
17964 
17965  private:
17967 
17968  public:
17969  const void* pNext = nullptr;
17977  };
17978  static_assert( sizeof( BufferMemoryBarrier ) == sizeof( VkBufferMemoryBarrier ), "struct and wrapper have different size!" );
17979 
17981  {
17991  };
17992 
17994 
17996  {
17997  return BufferUsageFlags( bit0 ) | bit1;
17998  }
17999 
18001  {
18002  return ~( BufferUsageFlags( bits ) );
18003  }
18004 
18005  template <> struct FlagTraits<BufferUsageFlagBits>
18006  {
18007  enum
18008  {
18010  };
18011  };
18012 
18014  {
18019  };
18020 
18022 
18024  {
18025  return BufferCreateFlags( bit0 ) | bit1;
18026  }
18027 
18029  {
18030  return ~( BufferCreateFlags( bits ) );
18031  }
18032 
18033  template <> struct FlagTraits<BufferCreateFlagBits>
18034  {
18035  enum
18036  {
18038  };
18039  };
18040 
18042  {
18043  BufferCreateInfo( BufferCreateFlags flags_ = BufferCreateFlags(), DeviceSize size_ = 0, BufferUsageFlags usage_ = BufferUsageFlags(), SharingMode sharingMode_ = SharingMode::eExclusive, uint32_t queueFamilyIndexCount_ = 0, const uint32_t* pQueueFamilyIndices_ = nullptr )
18044  : flags( flags_ )
18045  , size( size_ )
18046  , usage( usage_ )
18047  , sharingMode( sharingMode_ )
18048  , queueFamilyIndexCount( queueFamilyIndexCount_ )
18049  , pQueueFamilyIndices( pQueueFamilyIndices_ )
18050  {
18051  }
18052 
18054  {
18055  memcpy( this, &rhs, sizeof( BufferCreateInfo ) );
18056  }
18057 
18059  {
18060  memcpy( this, &rhs, sizeof( BufferCreateInfo ) );
18061  return *this;
18062  }
18063  BufferCreateInfo& setPNext( const void* pNext_ )
18064  {
18065  pNext = pNext_;
18066  return *this;
18067  }
18068 
18070  {
18071  flags = flags_;
18072  return *this;
18073  }
18074 
18076  {
18077  size = size_;
18078  return *this;
18079  }
18080 
18082  {
18083  usage = usage_;
18084  return *this;
18085  }
18086 
18088  {
18089  sharingMode = sharingMode_;
18090  return *this;
18091  }
18092 
18094  {
18095  queueFamilyIndexCount = queueFamilyIndexCount_;
18096  return *this;
18097  }
18098 
18099  BufferCreateInfo& setPQueueFamilyIndices( const uint32_t* pQueueFamilyIndices_ )
18100  {
18101  pQueueFamilyIndices = pQueueFamilyIndices_;
18102  return *this;
18103  }
18104 
18105  operator const VkBufferCreateInfo&() const
18106  {
18107  return *reinterpret_cast<const VkBufferCreateInfo*>(this);
18108  }
18109 
18110  bool operator==( BufferCreateInfo const& rhs ) const
18111  {
18112  return ( sType == rhs.sType )
18113  && ( pNext == rhs.pNext )
18114  && ( flags == rhs.flags )
18115  && ( size == rhs.size )
18116  && ( usage == rhs.usage )
18117  && ( sharingMode == rhs.sharingMode )
18120  }
18121 
18122  bool operator!=( BufferCreateInfo const& rhs ) const
18123  {
18124  return !operator==( rhs );
18125  }
18126 
18127  private:
18129 
18130  public:
18131  const void* pNext = nullptr;
18138  };
18139  static_assert( sizeof( BufferCreateInfo ) == sizeof( VkBufferCreateInfo ), "struct and wrapper have different size!" );
18140 
18142  {
18151  };
18152 
18154 
18156  {
18157  return ShaderStageFlags( bit0 ) | bit1;
18158  }
18159 
18161  {
18162  return ~( ShaderStageFlags( bits ) );
18163  }
18164 
18165  template <> struct FlagTraits<ShaderStageFlagBits>
18166  {
18167  enum
18168  {
18170  };
18171  };
18172 
18174  {
18175  DescriptorSetLayoutBinding( uint32_t binding_ = 0, DescriptorType descriptorType_ = DescriptorType::eSampler, uint32_t descriptorCount_ = 0, ShaderStageFlags stageFlags_ = ShaderStageFlags(), const Sampler* pImmutableSamplers_ = nullptr )
18176  : binding( binding_ )
18177  , descriptorType( descriptorType_ )
18178  , descriptorCount( descriptorCount_ )
18179  , stageFlags( stageFlags_ )
18180  , pImmutableSamplers( pImmutableSamplers_ )
18181  {
18182  }
18183 
18185  {
18186  memcpy( this, &rhs, sizeof( DescriptorSetLayoutBinding ) );
18187  }
18188 
18190  {
18191  memcpy( this, &rhs, sizeof( DescriptorSetLayoutBinding ) );
18192  return *this;
18193  }
18195  {
18196  binding = binding_;
18197  return *this;
18198  }
18199 
18201  {
18202  descriptorType = descriptorType_;
18203  return *this;
18204  }
18205 
18207  {
18208  descriptorCount = descriptorCount_;
18209  return *this;
18210  }
18211 
18213  {
18214  stageFlags = stageFlags_;
18215  return *this;
18216  }
18217 
18219  {
18220  pImmutableSamplers = pImmutableSamplers_;
18221  return *this;
18222  }
18223 
18224  operator const VkDescriptorSetLayoutBinding&() const
18225  {
18226  return *reinterpret_cast<const VkDescriptorSetLayoutBinding*>(this);
18227  }
18228 
18229  bool operator==( DescriptorSetLayoutBinding const& rhs ) const
18230  {
18231  return ( binding == rhs.binding )
18232  && ( descriptorType == rhs.descriptorType )
18233  && ( descriptorCount == rhs.descriptorCount )
18234  && ( stageFlags == rhs.stageFlags )
18235  && ( pImmutableSamplers == rhs.pImmutableSamplers );
18236  }
18237 
18238  bool operator!=( DescriptorSetLayoutBinding const& rhs ) const
18239  {
18240  return !operator==( rhs );
18241  }
18242 
18248  };
18249  static_assert( sizeof( DescriptorSetLayoutBinding ) == sizeof( VkDescriptorSetLayoutBinding ), "struct and wrapper have different size!" );
18250 
18252  {
18254  : flags( flags_ )
18255  , stage( stage_ )
18256  , module( module_ )
18257  , pName( pName_ )
18258  , pSpecializationInfo( pSpecializationInfo_ )
18259  {
18260  }
18261 
18263  {
18264  memcpy( this, &rhs, sizeof( PipelineShaderStageCreateInfo ) );
18265  }
18266 
18268  {
18269  memcpy( this, &rhs, sizeof( PipelineShaderStageCreateInfo ) );
18270  return *this;
18271  }
18273  {
18274  pNext = pNext_;
18275  return *this;
18276  }
18277 
18279  {
18280  flags = flags_;
18281  return *this;
18282  }
18283 
18285  {
18286  stage = stage_;
18287  return *this;
18288  }
18289 
18291  {
18292  module = module_;
18293  return *this;
18294  }
18295 
18297  {
18298  pName = pName_;
18299  return *this;
18300  }
18301 
18303  {
18304  pSpecializationInfo = pSpecializationInfo_;
18305  return *this;
18306  }
18307 
18308  operator const VkPipelineShaderStageCreateInfo&() const
18309  {
18310  return *reinterpret_cast<const VkPipelineShaderStageCreateInfo*>(this);
18311  }
18312 
18314  {
18315  return ( sType == rhs.sType )
18316  && ( pNext == rhs.pNext )
18317  && ( flags == rhs.flags )
18318  && ( stage == rhs.stage )
18319  && ( module == rhs.module )
18320  && ( pName == rhs.pName )
18322  }
18323 
18325  {
18326  return !operator==( rhs );
18327  }
18328 
18329  private:
18331 
18332  public:
18333  const void* pNext = nullptr;
18337  const char* pName;
18339  };
18340  static_assert( sizeof( PipelineShaderStageCreateInfo ) == sizeof( VkPipelineShaderStageCreateInfo ), "struct and wrapper have different size!" );
18341 
18343  {
18344  PushConstantRange( ShaderStageFlags stageFlags_ = ShaderStageFlags(), uint32_t offset_ = 0, uint32_t size_ = 0 )
18345  : stageFlags( stageFlags_ )
18346  , offset( offset_ )
18347  , size( size_ )
18348  {
18349  }
18350 
18352  {
18353  memcpy( this, &rhs, sizeof( PushConstantRange ) );
18354  }
18355 
18357  {
18358  memcpy( this, &rhs, sizeof( PushConstantRange ) );
18359  return *this;
18360  }
18362  {
18363  stageFlags = stageFlags_;
18364  return *this;
18365  }
18366 
18368  {
18369  offset = offset_;
18370  return *this;
18371  }
18372 
18374  {
18375  size = size_;
18376  return *this;
18377  }
18378 
18379  operator const VkPushConstantRange&() const
18380  {
18381  return *reinterpret_cast<const VkPushConstantRange*>(this);
18382  }
18383 
18384  bool operator==( PushConstantRange const& rhs ) const
18385  {
18386  return ( stageFlags == rhs.stageFlags )
18387  && ( offset == rhs.offset )
18388  && ( size == rhs.size );
18389  }
18390 
18391  bool operator!=( PushConstantRange const& rhs ) const
18392  {
18393  return !operator==( rhs );
18394  }
18395 
18399  };
18400  static_assert( sizeof( PushConstantRange ) == sizeof( VkPushConstantRange ), "struct and wrapper have different size!" );
18401 
18403  {
18404  PipelineLayoutCreateInfo( PipelineLayoutCreateFlags flags_ = PipelineLayoutCreateFlags(), uint32_t setLayoutCount_ = 0, const DescriptorSetLayout* pSetLayouts_ = nullptr, uint32_t pushConstantRangeCount_ = 0, const PushConstantRange* pPushConstantRanges_ = nullptr )
18405  : flags( flags_ )
18406  , setLayoutCount( setLayoutCount_ )
18407  , pSetLayouts( pSetLayouts_ )
18408  , pushConstantRangeCount( pushConstantRangeCount_ )
18409  , pPushConstantRanges( pPushConstantRanges_ )
18410  {
18411  }
18412 
18414  {
18415  memcpy( this, &rhs, sizeof( PipelineLayoutCreateInfo ) );
18416  }
18417 
18419  {
18420  memcpy( this, &rhs, sizeof( PipelineLayoutCreateInfo ) );
18421  return *this;
18422  }
18423  PipelineLayoutCreateInfo& setPNext( const void* pNext_ )
18424  {
18425  pNext = pNext_;
18426  return *this;
18427  }
18428 
18430  {
18431  flags = flags_;
18432  return *this;
18433  }
18434 
18436  {
18437  setLayoutCount = setLayoutCount_;
18438  return *this;
18439  }
18440 
18442  {
18443  pSetLayouts = pSetLayouts_;
18444  return *this;
18445  }
18446 
18448  {
18449  pushConstantRangeCount = pushConstantRangeCount_;
18450  return *this;
18451  }
18452 
18454  {
18455  pPushConstantRanges = pPushConstantRanges_;
18456  return *this;
18457  }
18458 
18459  operator const VkPipelineLayoutCreateInfo&() const
18460  {
18461  return *reinterpret_cast<const VkPipelineLayoutCreateInfo*>(this);
18462  }
18463 
18464  bool operator==( PipelineLayoutCreateInfo const& rhs ) const
18465  {
18466  return ( sType == rhs.sType )
18467  && ( pNext == rhs.pNext )
18468  && ( flags == rhs.flags )
18469  && ( setLayoutCount == rhs.setLayoutCount )
18470  && ( pSetLayouts == rhs.pSetLayouts )
18473  }
18474 
18475  bool operator!=( PipelineLayoutCreateInfo const& rhs ) const
18476  {
18477  return !operator==( rhs );
18478  }
18479 
18480  private:
18482 
18483  public:
18484  const void* pNext = nullptr;
18490  };
18491  static_assert( sizeof( PipelineLayoutCreateInfo ) == sizeof( VkPipelineLayoutCreateInfo ), "struct and wrapper have different size!" );
18492 
18494  {
18495  operator const VkShaderStatisticsInfoAMD&() const
18496  {
18497  return *reinterpret_cast<const VkShaderStatisticsInfoAMD*>(this);
18498  }
18499 
18500  bool operator==( ShaderStatisticsInfoAMD const& rhs ) const
18501  {
18502  return ( shaderStageMask == rhs.shaderStageMask )
18503  && ( resourceUsage == rhs.resourceUsage )
18504  && ( numPhysicalVgprs == rhs.numPhysicalVgprs )
18505  && ( numPhysicalSgprs == rhs.numPhysicalSgprs )
18506  && ( numAvailableVgprs == rhs.numAvailableVgprs )
18507  && ( numAvailableSgprs == rhs.numAvailableSgprs )
18508  && ( memcmp( computeWorkGroupSize, rhs.computeWorkGroupSize, 3 * sizeof( uint32_t ) ) == 0 );
18509  }
18510 
18511  bool operator!=( ShaderStatisticsInfoAMD const& rhs ) const
18512  {
18513  return !operator==( rhs );
18514  }
18515 
18523  };
18524  static_assert( sizeof( ShaderStatisticsInfoAMD ) == sizeof( VkShaderStatisticsInfoAMD ), "struct and wrapper have different size!" );
18525 
18527  {
18536  };
18537 
18539 
18541  {
18542  return ImageUsageFlags( bit0 ) | bit1;
18543  }
18544 
18546  {
18547  return ~( ImageUsageFlags( bits ) );
18548  }
18549 
18550  template <> struct FlagTraits<ImageUsageFlagBits>
18551  {
18552  enum
18553  {
18555  };
18556  };
18557 
18559  {
18561  {
18562  return *reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(this);
18563  }
18564 
18566  {
18567  return ( sType == rhs.sType )
18568  && ( pNext == rhs.pNext )
18570  }
18571 
18573  {
18574  return !operator==( rhs );
18575  }
18576 
18577  private:
18579 
18580  public:
18581  void* pNext = nullptr;
18583  };
18584  static_assert( sizeof( SharedPresentSurfaceCapabilitiesKHR ) == sizeof( VkSharedPresentSurfaceCapabilitiesKHR ), "struct and wrapper have different size!" );
18585 
18587  {
18589  : usage( usage_ )
18590  {
18591  }
18592 
18594  {
18595  memcpy( this, &rhs, sizeof( ImageViewUsageCreateInfo ) );
18596  }
18597 
18599  {
18600  memcpy( this, &rhs, sizeof( ImageViewUsageCreateInfo ) );
18601  return *this;
18602  }
18603  ImageViewUsageCreateInfo& setPNext( const void* pNext_ )
18604  {
18605  pNext = pNext_;
18606  return *this;
18607  }
18608 
18610  {
18611  usage = usage_;
18612  return *this;
18613  }
18614 
18615  operator const VkImageViewUsageCreateInfo&() const
18616  {
18617  return *reinterpret_cast<const VkImageViewUsageCreateInfo*>(this);
18618  }
18619 
18620  bool operator==( ImageViewUsageCreateInfo const& rhs ) const
18621  {
18622  return ( sType == rhs.sType )
18623  && ( pNext == rhs.pNext )
18624  && ( usage == rhs.usage );
18625  }
18626 
18627  bool operator!=( ImageViewUsageCreateInfo const& rhs ) const
18628  {
18629  return !operator==( rhs );
18630  }
18631 
18632  private:
18634 
18635  public:
18636  const void* pNext = nullptr;
18638  };
18639  static_assert( sizeof( ImageViewUsageCreateInfo ) == sizeof( VkImageViewUsageCreateInfo ), "struct and wrapper have different size!" );
18640 
18642 
18644  {
18664  };
18665 
18667 
18669  {
18670  return ImageCreateFlags( bit0 ) | bit1;
18671  }
18672 
18674  {
18675  return ~( ImageCreateFlags( bits ) );
18676  }
18677 
18678  template <> struct FlagTraits<ImageCreateFlagBits>
18679  {
18680  enum
18681  {
18683  };
18684  };
18685 
18687  {
18689  : format( format_ )
18690  , type( type_ )
18691  , tiling( tiling_ )
18692  , usage( usage_ )
18693  , flags( flags_ )
18694  {
18695  }
18696 
18698  {
18699  memcpy( this, &rhs, sizeof( PhysicalDeviceImageFormatInfo2 ) );
18700  }
18701 
18703  {
18704  memcpy( this, &rhs, sizeof( PhysicalDeviceImageFormatInfo2 ) );
18705  return *this;
18706  }
18708  {
18709  pNext = pNext_;
18710  return *this;
18711  }
18712 
18714  {
18715  format = format_;
18716  return *this;
18717  }
18718 
18720  {
18721  type = type_;
18722  return *this;
18723  }
18724 
18726  {
18727  tiling = tiling_;
18728  return *this;
18729  }
18730 
18732  {
18733  usage = usage_;
18734  return *this;
18735  }
18736 
18738  {
18739  flags = flags_;
18740  return *this;
18741  }
18742 
18743  operator const VkPhysicalDeviceImageFormatInfo2&() const
18744  {
18745  return *reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2*>(this);
18746  }
18747 
18749  {
18750  return ( sType == rhs.sType )
18751  && ( pNext == rhs.pNext )
18752  && ( format == rhs.format )
18753  && ( type == rhs.type )
18754  && ( tiling == rhs.tiling )
18755  && ( usage == rhs.usage )
18756  && ( flags == rhs.flags );
18757  }
18758 
18760  {
18761  return !operator==( rhs );
18762  }
18763 
18764  private:
18766 
18767  public:
18768  const void* pNext = nullptr;
18774  };
18775  static_assert( sizeof( PhysicalDeviceImageFormatInfo2 ) == sizeof( VkPhysicalDeviceImageFormatInfo2 ), "struct and wrapper have different size!" );
18776 
18778 
18780  {
18788  };
18789 
18791 
18793  {
18794  return PipelineCreateFlags( bit0 ) | bit1;
18795  }
18796 
18798  {
18799  return ~( PipelineCreateFlags( bits ) );
18800  }
18801 
18803  {
18804  enum
18805  {
18807  };
18808  };
18809 
18811  {
18813  : flags( flags_ )
18814  , stage( stage_ )
18815  , layout( layout_ )
18816  , basePipelineHandle( basePipelineHandle_ )
18817  , basePipelineIndex( basePipelineIndex_ )
18818  {
18819  }
18820 
18822  {
18823  memcpy( this, &rhs, sizeof( ComputePipelineCreateInfo ) );
18824  }
18825 
18827  {
18828  memcpy( this, &rhs, sizeof( ComputePipelineCreateInfo ) );
18829  return *this;
18830  }
18831  ComputePipelineCreateInfo& setPNext( const void* pNext_ )
18832  {
18833  pNext = pNext_;
18834  return *this;
18835  }
18836 
18838  {
18839  flags = flags_;
18840  return *this;
18841  }
18842 
18844  {
18845  stage = stage_;
18846  return *this;
18847  }
18848 
18850  {
18851  layout = layout_;
18852  return *this;
18853  }
18854 
18856  {
18857  basePipelineHandle = basePipelineHandle_;
18858  return *this;
18859  }
18860 
18862  {
18863  basePipelineIndex = basePipelineIndex_;
18864  return *this;
18865  }
18866 
18867  operator const VkComputePipelineCreateInfo&() const
18868  {
18869  return *reinterpret_cast<const VkComputePipelineCreateInfo*>(this);
18870  }
18871 
18872  bool operator==( ComputePipelineCreateInfo const& rhs ) const
18873  {
18874  return ( sType == rhs.sType )
18875  && ( pNext == rhs.pNext )
18876  && ( flags == rhs.flags )
18877  && ( stage == rhs.stage )
18878  && ( layout == rhs.layout )
18880  && ( basePipelineIndex == rhs.basePipelineIndex );
18881  }
18882 
18883  bool operator!=( ComputePipelineCreateInfo const& rhs ) const
18884  {
18885  return !operator==( rhs );
18886  }
18887 
18888  private:
18890 
18891  public:
18892  const void* pNext = nullptr;
18898  };
18899  static_assert( sizeof( ComputePipelineCreateInfo ) == sizeof( VkComputePipelineCreateInfo ), "struct and wrapper have different size!" );
18900 
18902  {
18907  };
18908 
18910 
18912  {
18913  return ColorComponentFlags( bit0 ) | bit1;
18914  }
18915 
18917  {
18918  return ~( ColorComponentFlags( bits ) );
18919  }
18920 
18922  {
18923  enum
18924  {
18926  };
18927  };
18928 
18930  {
18931  PipelineColorBlendAttachmentState( Bool32 blendEnable_ = 0, BlendFactor srcColorBlendFactor_ = BlendFactor::eZero, BlendFactor dstColorBlendFactor_ = BlendFactor::eZero, BlendOp colorBlendOp_ = BlendOp::eAdd, BlendFactor srcAlphaBlendFactor_ = BlendFactor::eZero, BlendFactor dstAlphaBlendFactor_ = BlendFactor::eZero, BlendOp alphaBlendOp_ = BlendOp::eAdd, ColorComponentFlags colorWriteMask_ = ColorComponentFlags() )
18932  : blendEnable( blendEnable_ )
18933  , srcColorBlendFactor( srcColorBlendFactor_ )
18934  , dstColorBlendFactor( dstColorBlendFactor_ )
18935  , colorBlendOp( colorBlendOp_ )
18936  , srcAlphaBlendFactor( srcAlphaBlendFactor_ )
18937  , dstAlphaBlendFactor( dstAlphaBlendFactor_ )
18938  , alphaBlendOp( alphaBlendOp_ )
18939  , colorWriteMask( colorWriteMask_ )
18940  {
18941  }
18942 
18944  {
18945  memcpy( this, &rhs, sizeof( PipelineColorBlendAttachmentState ) );
18946  }
18947 
18949  {
18950  memcpy( this, &rhs, sizeof( PipelineColorBlendAttachmentState ) );
18951  return *this;
18952  }
18954  {
18955  blendEnable = blendEnable_;
18956  return *this;
18957  }
18958 
18960  {
18961  srcColorBlendFactor = srcColorBlendFactor_;
18962  return *this;
18963  }
18964 
18966  {
18967  dstColorBlendFactor = dstColorBlendFactor_;
18968  return *this;
18969  }
18970 
18972  {
18973  colorBlendOp = colorBlendOp_;
18974  return *this;
18975  }
18976 
18978  {
18979  srcAlphaBlendFactor = srcAlphaBlendFactor_;
18980  return *this;
18981  }
18982 
18984  {
18985  dstAlphaBlendFactor = dstAlphaBlendFactor_;
18986  return *this;
18987  }
18988 
18990  {
18991  alphaBlendOp = alphaBlendOp_;
18992  return *this;
18993  }
18994 
18996  {
18997  colorWriteMask = colorWriteMask_;
18998  return *this;
18999  }
19000 
19001  operator const VkPipelineColorBlendAttachmentState&() const
19002  {
19003  return *reinterpret_cast<const VkPipelineColorBlendAttachmentState*>(this);
19004  }
19005 
19007  {
19008  return ( blendEnable == rhs.blendEnable )
19011  && ( colorBlendOp == rhs.colorBlendOp )
19014  && ( alphaBlendOp == rhs.alphaBlendOp )
19015  && ( colorWriteMask == rhs.colorWriteMask );
19016  }
19017 
19019  {
19020  return !operator==( rhs );
19021  }
19022 
19031  };
19032  static_assert( sizeof( PipelineColorBlendAttachmentState ) == sizeof( VkPipelineColorBlendAttachmentState ), "struct and wrapper have different size!" );
19033 
19035  {
19036  PipelineColorBlendStateCreateInfo( PipelineColorBlendStateCreateFlags flags_ = PipelineColorBlendStateCreateFlags(), Bool32 logicOpEnable_ = 0, LogicOp logicOp_ = LogicOp::eClear, uint32_t attachmentCount_ = 0, const PipelineColorBlendAttachmentState* pAttachments_ = nullptr, std::array<float,4> const& blendConstants_ = { { 0, 0, 0, 0 } } )
19037  : flags( flags_ )
19038  , logicOpEnable( logicOpEnable_ )
19039  , logicOp( logicOp_ )
19040  , attachmentCount( attachmentCount_ )
19041  , pAttachments( pAttachments_ )
19042  {
19043  memcpy( &blendConstants, blendConstants_.data(), 4 * sizeof( float ) );
19044  }
19045 
19047  {
19048  memcpy( this, &rhs, sizeof( PipelineColorBlendStateCreateInfo ) );
19049  }
19050 
19052  {
19053  memcpy( this, &rhs, sizeof( PipelineColorBlendStateCreateInfo ) );
19054  return *this;
19055  }
19057  {
19058  pNext = pNext_;
19059  return *this;
19060  }
19061 
19063  {
19064  flags = flags_;
19065  return *this;
19066  }
19067 
19069  {
19070  logicOpEnable = logicOpEnable_;
19071  return *this;
19072  }
19073 
19075  {
19076  logicOp = logicOp_;
19077  return *this;
19078  }
19079 
19081  {
19082  attachmentCount = attachmentCount_;
19083  return *this;
19084  }
19085 
19087  {
19088  pAttachments = pAttachments_;
19089  return *this;
19090  }
19091 
19092  PipelineColorBlendStateCreateInfo& setBlendConstants( std::array<float,4> blendConstants_ )
19093  {
19094  memcpy( &blendConstants, blendConstants_.data(), 4 * sizeof( float ) );
19095  return *this;
19096  }
19097 
19098  operator const VkPipelineColorBlendStateCreateInfo&() const
19099  {
19100  return *reinterpret_cast<const VkPipelineColorBlendStateCreateInfo*>(this);
19101  }
19102 
19104  {
19105  return ( sType == rhs.sType )
19106  && ( pNext == rhs.pNext )
19107  && ( flags == rhs.flags )
19108  && ( logicOpEnable == rhs.logicOpEnable )
19109  && ( logicOp == rhs.logicOp )
19110  && ( attachmentCount == rhs.attachmentCount )
19111  && ( pAttachments == rhs.pAttachments )
19112  && ( memcmp( blendConstants, rhs.blendConstants, 4 * sizeof( float ) ) == 0 );
19113  }
19114 
19116  {
19117  return !operator==( rhs );
19118  }
19119 
19120  private:
19122 
19123  public:
19124  const void* pNext = nullptr;
19130  float blendConstants[4];
19131  };
19132  static_assert( sizeof( PipelineColorBlendStateCreateInfo ) == sizeof( VkPipelineColorBlendStateCreateInfo ), "struct and wrapper have different size!" );
19133 
19135  {
19137  };
19138 
19140 
19142  {
19143  return FenceCreateFlags( bit0 ) | bit1;
19144  }
19145 
19147  {
19148  return ~( FenceCreateFlags( bits ) );
19149  }
19150 
19151  template <> struct FlagTraits<FenceCreateFlagBits>
19152  {
19153  enum
19154  {
19156  };
19157  };
19158 
19160  {
19162  : flags( flags_ )
19163  {
19164  }
19165 
19167  {
19168  memcpy( this, &rhs, sizeof( FenceCreateInfo ) );
19169  }
19170 
19172  {
19173  memcpy( this, &rhs, sizeof( FenceCreateInfo ) );
19174  return *this;
19175  }
19176  FenceCreateInfo& setPNext( const void* pNext_ )
19177  {
19178  pNext = pNext_;
19179  return *this;
19180  }
19181 
19183  {
19184  flags = flags_;
19185  return *this;
19186  }
19187 
19188  operator const VkFenceCreateInfo&() const
19189  {
19190  return *reinterpret_cast<const VkFenceCreateInfo*>(this);
19191  }
19192 
19193  bool operator==( FenceCreateInfo const& rhs ) const
19194  {
19195  return ( sType == rhs.sType )
19196  && ( pNext == rhs.pNext )
19197  && ( flags == rhs.flags );
19198  }
19199 
19200  bool operator!=( FenceCreateInfo const& rhs ) const
19201  {
19202  return !operator==( rhs );
19203  }
19204 
19205  private:
19207 
19208  public:
19209  const void* pNext = nullptr;
19211  };
19212  static_assert( sizeof( FenceCreateInfo ) == sizeof( VkFenceCreateInfo ), "struct and wrapper have different size!" );
19213 
19215  {
19249  };
19250 
19252 
19254  {
19255  return FormatFeatureFlags( bit0 ) | bit1;
19256  }
19257 
19259  {
19260  return ~( FormatFeatureFlags( bits ) );
19261  }
19262 
19263  template <> struct FlagTraits<FormatFeatureFlagBits>
19264  {
19265  enum
19266  {
19268  };
19269  };
19270 
19272  {
19273  operator const VkFormatProperties&() const
19274  {
19275  return *reinterpret_cast<const VkFormatProperties*>(this);
19276  }
19277 
19278  bool operator==( FormatProperties const& rhs ) const
19279  {
19280  return ( linearTilingFeatures == rhs.linearTilingFeatures )
19282  && ( bufferFeatures == rhs.bufferFeatures );
19283  }
19284 
19285  bool operator!=( FormatProperties const& rhs ) const
19286  {
19287  return !operator==( rhs );
19288  }
19289 
19293  };
19294  static_assert( sizeof( FormatProperties ) == sizeof( VkFormatProperties ), "struct and wrapper have different size!" );
19295 
19297  {
19298  operator const VkFormatProperties2&() const
19299  {
19300  return *reinterpret_cast<const VkFormatProperties2*>(this);
19301  }
19302 
19303  bool operator==( FormatProperties2 const& rhs ) const
19304  {
19305  return ( sType == rhs.sType )
19306  && ( pNext == rhs.pNext )
19307  && ( formatProperties == rhs.formatProperties );
19308  }
19309 
19310  bool operator!=( FormatProperties2 const& rhs ) const
19311  {
19312  return !operator==( rhs );
19313  }
19314 
19315  private:
19317 
19318  public:
19319  void* pNext = nullptr;
19321  };
19322  static_assert( sizeof( FormatProperties2 ) == sizeof( VkFormatProperties2 ), "struct and wrapper have different size!" );
19323 
19325 
19327  {
19329  };
19330 
19332 
19334  {
19335  return QueryControlFlags( bit0 ) | bit1;
19336  }
19337 
19339  {
19340  return ~( QueryControlFlags( bits ) );
19341  }
19342 
19343  template <> struct FlagTraits<QueryControlFlagBits>
19344  {
19345  enum
19346  {
19348  };
19349  };
19350 
19352  {
19357  };
19358 
19360 
19362  {
19363  return QueryResultFlags( bit0 ) | bit1;
19364  }
19365 
19367  {
19368  return ~( QueryResultFlags( bits ) );
19369  }
19370 
19371  template <> struct FlagTraits<QueryResultFlagBits>
19372  {
19373  enum
19374  {
19376  };
19377  };
19378 
19380  {
19384  };
19385 
19387 
19389  {
19390  return CommandBufferUsageFlags( bit0 ) | bit1;
19391  }
19392 
19394  {
19395  return ~( CommandBufferUsageFlags( bits ) );
19396  }
19397 
19399  {
19400  enum
19401  {
19403  };
19404  };
19405 
19407  {
19419  };
19420 
19422 
19424  {
19425  return QueryPipelineStatisticFlags( bit0 ) | bit1;
19426  }
19427 
19429  {
19430  return ~( QueryPipelineStatisticFlags( bits ) );
19431  }
19432 
19434  {
19435  enum
19436  {
19438  };
19439  };
19440 
19442  {
19443  CommandBufferInheritanceInfo( RenderPass renderPass_ = RenderPass(), uint32_t subpass_ = 0, Framebuffer framebuffer_ = Framebuffer(), Bool32 occlusionQueryEnable_ = 0, QueryControlFlags queryFlags_ = QueryControlFlags(), QueryPipelineStatisticFlags pipelineStatistics_ = QueryPipelineStatisticFlags() )
19444  : renderPass( renderPass_ )
19445  , subpass( subpass_ )
19446  , framebuffer( framebuffer_ )
19447  , occlusionQueryEnable( occlusionQueryEnable_ )
19448  , queryFlags( queryFlags_ )
19449  , pipelineStatistics( pipelineStatistics_ )
19450  {
19451  }
19452 
19454  {
19455  memcpy( this, &rhs, sizeof( CommandBufferInheritanceInfo ) );
19456  }
19457 
19459  {
19460  memcpy( this, &rhs, sizeof( CommandBufferInheritanceInfo ) );
19461  return *this;
19462  }
19464  {
19465  pNext = pNext_;
19466  return *this;
19467  }
19468 
19470  {
19471  renderPass = renderPass_;
19472  return *this;
19473  }
19474 
19476  {
19477  subpass = subpass_;
19478  return *this;
19479  }
19480 
19482  {
19483  framebuffer = framebuffer_;
19484  return *this;
19485  }
19486 
19488  {
19489  occlusionQueryEnable = occlusionQueryEnable_;
19490  return *this;
19491  }
19492 
19494  {
19495  queryFlags = queryFlags_;
19496  return *this;
19497  }
19498 
19500  {
19501  pipelineStatistics = pipelineStatistics_;
19502  return *this;
19503  }
19504 
19505  operator const VkCommandBufferInheritanceInfo&() const
19506  {
19507  return *reinterpret_cast<const VkCommandBufferInheritanceInfo*>(this);
19508  }
19509 
19510  bool operator==( CommandBufferInheritanceInfo const& rhs ) const
19511  {
19512  return ( sType == rhs.sType )
19513  && ( pNext == rhs.pNext )
19514  && ( renderPass == rhs.renderPass )
19515  && ( subpass == rhs.subpass )
19516  && ( framebuffer == rhs.framebuffer )
19518  && ( queryFlags == rhs.queryFlags )
19519  && ( pipelineStatistics == rhs.pipelineStatistics );
19520  }
19521 
19522  bool operator!=( CommandBufferInheritanceInfo const& rhs ) const
19523  {
19524  return !operator==( rhs );
19525  }
19526 
19527  private:
19529 
19530  public:
19531  const void* pNext = nullptr;
19538  };
19539  static_assert( sizeof( CommandBufferInheritanceInfo ) == sizeof( VkCommandBufferInheritanceInfo ), "struct and wrapper have different size!" );
19540 
19542  {
19544  : flags( flags_ )
19545  , pInheritanceInfo( pInheritanceInfo_ )
19546  {
19547  }
19548 
19550  {
19551  memcpy( this, &rhs, sizeof( CommandBufferBeginInfo ) );
19552  }
19553 
19555  {
19556  memcpy( this, &rhs, sizeof( CommandBufferBeginInfo ) );
19557  return *this;
19558  }
19559  CommandBufferBeginInfo& setPNext( const void* pNext_ )
19560  {
19561  pNext = pNext_;
19562  return *this;
19563  }
19564 
19566  {
19567  flags = flags_;
19568  return *this;
19569  }
19570 
19572  {
19573  pInheritanceInfo = pInheritanceInfo_;
19574  return *this;
19575  }
19576 
19577  operator const VkCommandBufferBeginInfo&() const
19578  {
19579  return *reinterpret_cast<const VkCommandBufferBeginInfo*>(this);
19580  }
19581 
19582  bool operator==( CommandBufferBeginInfo const& rhs ) const
19583  {
19584  return ( sType == rhs.sType )
19585  && ( pNext == rhs.pNext )
19586  && ( flags == rhs.flags )
19587  && ( pInheritanceInfo == rhs.pInheritanceInfo );
19588  }
19589 
19590  bool operator!=( CommandBufferBeginInfo const& rhs ) const
19591  {
19592  return !operator==( rhs );
19593  }
19594 
19595  private:
19597 
19598  public:
19599  const void* pNext = nullptr;
19602  };
19603  static_assert( sizeof( CommandBufferBeginInfo ) == sizeof( VkCommandBufferBeginInfo ), "struct and wrapper have different size!" );
19604 
19606  {
19608  : flags( flags_ )
19609  , queryType( queryType_ )
19610  , queryCount( queryCount_ )
19611  , pipelineStatistics( pipelineStatistics_ )
19612  {
19613  }
19614 
19616  {
19617  memcpy( this, &rhs, sizeof( QueryPoolCreateInfo ) );
19618  }
19619 
19621  {
19622  memcpy( this, &rhs, sizeof( QueryPoolCreateInfo ) );
19623  return *this;
19624  }
19625  QueryPoolCreateInfo& setPNext( const void* pNext_ )
19626  {
19627  pNext = pNext_;
19628  return *this;
19629  }
19630 
19632  {
19633  flags = flags_;
19634  return *this;
19635  }
19636 
19638  {
19639  queryType = queryType_;
19640  return *this;
19641  }
19642 
19644  {
19645  queryCount = queryCount_;
19646  return *this;
19647  }
19648 
19650  {
19651  pipelineStatistics = pipelineStatistics_;
19652  return *this;
19653  }
19654 
19655  operator const VkQueryPoolCreateInfo&() const
19656  {
19657  return *reinterpret_cast<const VkQueryPoolCreateInfo*>(this);
19658  }
19659 
19660  bool operator==( QueryPoolCreateInfo const& rhs ) const
19661  {
19662  return ( sType == rhs.sType )
19663  && ( pNext == rhs.pNext )
19664  && ( flags == rhs.flags )
19665  && ( queryType == rhs.queryType )
19666  && ( queryCount == rhs.queryCount )
19667  && ( pipelineStatistics == rhs.pipelineStatistics );
19668  }
19669 
19670  bool operator!=( QueryPoolCreateInfo const& rhs ) const
19671  {
19672  return !operator==( rhs );
19673  }
19674 
19675  private:
19677 
19678  public:
19679  const void* pNext = nullptr;
19684  };
19685  static_assert( sizeof( QueryPoolCreateInfo ) == sizeof( VkQueryPoolCreateInfo ), "struct and wrapper have different size!" );
19686 
19688  {
19699  };
19700 
19702 
19704  {
19705  return ImageAspectFlags( bit0 ) | bit1;
19706  }
19707 
19709  {
19710  return ~( ImageAspectFlags( bits ) );
19711  }
19712 
19713  template <> struct FlagTraits<ImageAspectFlagBits>
19714  {
19715  enum
19716  {
19718  };
19719  };
19720 
19722  {
19723  ImageSubresource( ImageAspectFlags aspectMask_ = ImageAspectFlags(), uint32_t mipLevel_ = 0, uint32_t arrayLayer_ = 0 )
19724  : aspectMask( aspectMask_ )
19725  , mipLevel( mipLevel_ )
19726  , arrayLayer( arrayLayer_ )
19727  {
19728  }
19729 
19731  {
19732  memcpy( this, &rhs, sizeof( ImageSubresource ) );
19733  }
19734 
19736  {
19737  memcpy( this, &rhs, sizeof( ImageSubresource ) );
19738  return *this;
19739  }
19741  {
19742  aspectMask = aspectMask_;
19743  return *this;
19744  }
19745 
19747  {
19748  mipLevel = mipLevel_;
19749  return *this;
19750  }
19751 
19753  {
19754  arrayLayer = arrayLayer_;
19755  return *this;
19756  }
19757 
19758  operator const VkImageSubresource&() const
19759  {
19760  return *reinterpret_cast<const VkImageSubresource*>(this);
19761  }
19762 
19763  bool operator==( ImageSubresource const& rhs ) const
19764  {
19765  return ( aspectMask == rhs.aspectMask )
19766  && ( mipLevel == rhs.mipLevel )
19767  && ( arrayLayer == rhs.arrayLayer );
19768  }
19769 
19770  bool operator!=( ImageSubresource const& rhs ) const
19771  {
19772  return !operator==( rhs );
19773  }
19774 
19778  };
19779  static_assert( sizeof( ImageSubresource ) == sizeof( VkImageSubresource ), "struct and wrapper have different size!" );
19780 
19782  {
19783  ImageSubresourceLayers( ImageAspectFlags aspectMask_ = ImageAspectFlags(), uint32_t mipLevel_ = 0, uint32_t baseArrayLayer_ = 0, uint32_t layerCount_ = 0 )
19784  : aspectMask( aspectMask_ )
19785  , mipLevel( mipLevel_ )
19786  , baseArrayLayer( baseArrayLayer_ )
19787  , layerCount( layerCount_ )
19788  {
19789  }
19790 
19792  {
19793  memcpy( this, &rhs, sizeof( ImageSubresourceLayers ) );
19794  }
19795 
19797  {
19798  memcpy( this, &rhs, sizeof( ImageSubresourceLayers ) );
19799  return *this;
19800  }
19802  {
19803  aspectMask = aspectMask_;
19804  return *this;
19805  }
19806 
19808  {
19809  mipLevel = mipLevel_;
19810  return *this;
19811  }
19812 
19814  {
19815  baseArrayLayer = baseArrayLayer_;
19816  return *this;
19817  }
19818 
19820  {
19821  layerCount = layerCount_;
19822  return *this;
19823  }
19824 
19825  operator const VkImageSubresourceLayers&() const
19826  {
19827  return *reinterpret_cast<const VkImageSubresourceLayers*>(this);
19828  }
19829 
19830  bool operator==( ImageSubresourceLayers const& rhs ) const
19831  {
19832  return ( aspectMask == rhs.aspectMask )
19833  && ( mipLevel == rhs.mipLevel )
19834  && ( baseArrayLayer == rhs.baseArrayLayer )
19835  && ( layerCount == rhs.layerCount );
19836  }
19837 
19838  bool operator!=( ImageSubresourceLayers const& rhs ) const
19839  {
19840  return !operator==( rhs );
19841  }
19842 
19847  };
19848  static_assert( sizeof( ImageSubresourceLayers ) == sizeof( VkImageSubresourceLayers ), "struct and wrapper have different size!" );
19849 
19851  {
19852  ImageSubresourceRange( ImageAspectFlags aspectMask_ = ImageAspectFlags(), uint32_t baseMipLevel_ = 0, uint32_t levelCount_ = 0, uint32_t baseArrayLayer_ = 0, uint32_t layerCount_ = 0 )
19853  : aspectMask( aspectMask_ )
19854  , baseMipLevel( baseMipLevel_ )
19855  , levelCount( levelCount_ )
19856  , baseArrayLayer( baseArrayLayer_ )
19857  , layerCount( layerCount_ )
19858  {
19859  }
19860 
19862  {
19863  memcpy( this, &rhs, sizeof( ImageSubresourceRange ) );
19864  }
19865 
19867  {
19868  memcpy( this, &rhs, sizeof( ImageSubresourceRange ) );
19869  return *this;
19870  }
19872  {
19873  aspectMask = aspectMask_;
19874  return *this;
19875  }
19876 
19878  {
19879  baseMipLevel = baseMipLevel_;
19880  return *this;
19881  }
19882 
19884  {
19885  levelCount = levelCount_;
19886  return *this;
19887  }
19888 
19890  {
19891  baseArrayLayer = baseArrayLayer_;
19892  return *this;
19893  }
19894 
19896  {
19897  layerCount = layerCount_;
19898  return *this;
19899  }
19900 
19901  operator const VkImageSubresourceRange&() const
19902  {
19903  return *reinterpret_cast<const VkImageSubresourceRange*>(this);
19904  }
19905 
19906  bool operator==( ImageSubresourceRange const& rhs ) const
19907  {
19908  return ( aspectMask == rhs.aspectMask )
19909  && ( baseMipLevel == rhs.baseMipLevel )
19910  && ( levelCount == rhs.levelCount )
19911  && ( baseArrayLayer == rhs.baseArrayLayer )
19912  && ( layerCount == rhs.layerCount );
19913  }
19914 
19915  bool operator!=( ImageSubresourceRange const& rhs ) const
19916  {
19917  return !operator==( rhs );
19918  }
19919 
19925  };
19926  static_assert( sizeof( ImageSubresourceRange ) == sizeof( VkImageSubresourceRange ), "struct and wrapper have different size!" );
19927 
19929  {
19930  ImageMemoryBarrier( AccessFlags srcAccessMask_ = AccessFlags(), AccessFlags dstAccessMask_ = AccessFlags(), ImageLayout oldLayout_ = ImageLayout::eUndefined, ImageLayout newLayout_ = ImageLayout::eUndefined, uint32_t srcQueueFamilyIndex_ = 0, uint32_t dstQueueFamilyIndex_ = 0, Image image_ = Image(), ImageSubresourceRange subresourceRange_ = ImageSubresourceRange() )
19931  : srcAccessMask( srcAccessMask_ )
19932  , dstAccessMask( dstAccessMask_ )
19933  , oldLayout( oldLayout_ )
19934  , newLayout( newLayout_ )
19935  , srcQueueFamilyIndex( srcQueueFamilyIndex_ )
19936  , dstQueueFamilyIndex( dstQueueFamilyIndex_ )
19937  , image( image_ )
19938  , subresourceRange( subresourceRange_ )
19939  {
19940  }
19941 
19943  {
19944  memcpy( this, &rhs, sizeof( ImageMemoryBarrier ) );
19945  }
19946 
19948  {
19949  memcpy( this, &rhs, sizeof( ImageMemoryBarrier ) );
19950  return *this;
19951  }
19952  ImageMemoryBarrier& setPNext( const void* pNext_ )
19953  {
19954  pNext = pNext_;
19955  return *this;
19956  }
19957 
19959  {
19960  srcAccessMask = srcAccessMask_;
19961  return *this;
19962  }
19963 
19965  {
19966  dstAccessMask = dstAccessMask_;
19967  return *this;
19968  }
19969 
19971  {
19972  oldLayout = oldLayout_;
19973  return *this;
19974  }
19975 
19977  {
19978  newLayout = newLayout_;
19979  return *this;
19980  }
19981 
19983  {
19984  srcQueueFamilyIndex = srcQueueFamilyIndex_;
19985  return *this;
19986  }
19987 
19989  {
19990  dstQueueFamilyIndex = dstQueueFamilyIndex_;
19991  return *this;
19992  }
19993 
19995  {
19996  image = image_;
19997  return *this;
19998  }
19999 
20001  {
20002  subresourceRange = subresourceRange_;
20003  return *this;
20004  }
20005 
20006  operator const VkImageMemoryBarrier&() const
20007  {
20008  return *reinterpret_cast<const VkImageMemoryBarrier*>(this);
20009  }
20010 
20011  bool operator==( ImageMemoryBarrier const& rhs ) const
20012  {
20013  return ( sType == rhs.sType )
20014  && ( pNext == rhs.pNext )
20015  && ( srcAccessMask == rhs.srcAccessMask )
20016  && ( dstAccessMask == rhs.dstAccessMask )
20017  && ( oldLayout == rhs.oldLayout )
20018  && ( newLayout == rhs.newLayout )
20021  && ( image == rhs.image )
20022  && ( subresourceRange == rhs.subresourceRange );
20023  }
20024 
20025  bool operator!=( ImageMemoryBarrier const& rhs ) const
20026  {
20027  return !operator==( rhs );
20028  }
20029 
20030  private:
20032 
20033  public:
20034  const void* pNext = nullptr;
20043  };
20044  static_assert( sizeof( ImageMemoryBarrier ) == sizeof( VkImageMemoryBarrier ), "struct and wrapper have different size!" );
20045 
20047  {
20049  : flags( flags_ )
20050  , image( image_ )
20051  , viewType( viewType_ )
20052  , format( format_ )
20053  , components( components_ )
20054  , subresourceRange( subresourceRange_ )
20055  {
20056  }
20057 
20059  {
20060  memcpy( this, &rhs, sizeof( ImageViewCreateInfo ) );
20061  }
20062 
20064  {
20065  memcpy( this, &rhs, sizeof( ImageViewCreateInfo ) );
20066  return *this;
20067  }
20068  ImageViewCreateInfo& setPNext( const void* pNext_ )
20069  {
20070  pNext = pNext_;
20071  return *this;
20072  }
20073 
20075  {
20076  flags = flags_;
20077  return *this;
20078  }
20079 
20081  {
20082  image = image_;
20083  return *this;
20084  }
20085 
20087  {
20088  viewType = viewType_;
20089  return *this;
20090  }
20091 
20093  {
20094  format = format_;
20095  return *this;
20096  }
20097 
20099  {
20100  components = components_;
20101  return *this;
20102  }
20103 
20105  {
20106  subresourceRange = subresourceRange_;
20107  return *this;
20108  }
20109 
20110  operator const VkImageViewCreateInfo&() const
20111  {
20112  return *reinterpret_cast<const VkImageViewCreateInfo*>(this);
20113  }
20114 
20115  bool operator==( ImageViewCreateInfo const& rhs ) const
20116  {
20117  return ( sType == rhs.sType )
20118  && ( pNext == rhs.pNext )
20119  && ( flags == rhs.flags )
20120  && ( image == rhs.image )
20121  && ( viewType == rhs.viewType )
20122  && ( format == rhs.format )
20123  && ( components == rhs.components )
20124  && ( subresourceRange == rhs.subresourceRange );
20125  }
20126 
20127  bool operator!=( ImageViewCreateInfo const& rhs ) const
20128  {
20129  return !operator==( rhs );
20130  }
20131 
20132  private:
20134 
20135  public:
20136  const void* pNext = nullptr;
20143  };
20144  static_assert( sizeof( ImageViewCreateInfo ) == sizeof( VkImageViewCreateInfo ), "struct and wrapper have different size!" );
20145 
20146  struct ImageCopy
20147  {
20148  ImageCopy( ImageSubresourceLayers srcSubresource_ = ImageSubresourceLayers(), Offset3D srcOffset_ = Offset3D(), ImageSubresourceLayers dstSubresource_ = ImageSubresourceLayers(), Offset3D dstOffset_ = Offset3D(), Extent3D extent_ = Extent3D() )
20149  : srcSubresource( srcSubresource_ )
20150  , srcOffset( srcOffset_ )
20151  , dstSubresource( dstSubresource_ )
20152  , dstOffset( dstOffset_ )
20153  , extent( extent_ )
20154  {
20155  }
20156 
20157  ImageCopy( VkImageCopy const & rhs )
20158  {
20159  memcpy( this, &rhs, sizeof( ImageCopy ) );
20160  }
20161 
20163  {
20164  memcpy( this, &rhs, sizeof( ImageCopy ) );
20165  return *this;
20166  }
20168  {
20169  srcSubresource = srcSubresource_;
20170  return *this;
20171  }
20172 
20174  {
20175  srcOffset = srcOffset_;
20176  return *this;
20177  }
20178 
20180  {
20181  dstSubresource = dstSubresource_;
20182  return *this;
20183  }
20184 
20186  {
20187  dstOffset = dstOffset_;
20188  return *this;
20189  }
20190 
20192  {
20193  extent = extent_;
20194  return *this;
20195  }
20196 
20197  operator const VkImageCopy&() const
20198  {
20199  return *reinterpret_cast<const VkImageCopy*>(this);
20200  }
20201 
20202  bool operator==( ImageCopy const& rhs ) const
20203  {
20204  return ( srcSubresource == rhs.srcSubresource )
20205  && ( srcOffset == rhs.srcOffset )
20206  && ( dstSubresource == rhs.dstSubresource )
20207  && ( dstOffset == rhs.dstOffset )
20208  && ( extent == rhs.extent );
20209  }
20210 
20211  bool operator!=( ImageCopy const& rhs ) const
20212  {
20213  return !operator==( rhs );
20214  }
20215 
20221  };
20222  static_assert( sizeof( ImageCopy ) == sizeof( VkImageCopy ), "struct and wrapper have different size!" );
20223 
20224  struct ImageBlit
20225  {
20226  ImageBlit( ImageSubresourceLayers srcSubresource_ = ImageSubresourceLayers(), std::array<Offset3D,2> const& srcOffsets_ = { { Offset3D(), Offset3D() } }, ImageSubresourceLayers dstSubresource_ = ImageSubresourceLayers(), std::array<Offset3D,2> const& dstOffsets_ = { { Offset3D(), Offset3D() } } )
20227  : srcSubresource( srcSubresource_ )
20228  , dstSubresource( dstSubresource_ )
20229  {
20230  memcpy( &srcOffsets, srcOffsets_.data(), 2 * sizeof( Offset3D ) );
20231  memcpy( &dstOffsets, dstOffsets_.data(), 2 * sizeof( Offset3D ) );
20232  }
20233 
20234  ImageBlit( VkImageBlit const & rhs )
20235  {
20236  memcpy( this, &rhs, sizeof( ImageBlit ) );
20237  }
20238 
20240  {
20241  memcpy( this, &rhs, sizeof( ImageBlit ) );
20242  return *this;
20243  }
20245  {
20246  srcSubresource = srcSubresource_;
20247  return *this;
20248  }
20249 
20250  ImageBlit& setSrcOffsets( std::array<Offset3D,2> srcOffsets_ )
20251  {
20252  memcpy( &srcOffsets, srcOffsets_.data(), 2 * sizeof( Offset3D ) );
20253  return *this;
20254  }
20255 
20257  {
20258  dstSubresource = dstSubresource_;
20259  return *this;
20260  }
20261 
20262  ImageBlit& setDstOffsets( std::array<Offset3D,2> dstOffsets_ )
20263  {
20264  memcpy( &dstOffsets, dstOffsets_.data(), 2 * sizeof( Offset3D ) );
20265  return *this;
20266  }
20267 
20268  operator const VkImageBlit&() const
20269  {
20270  return *reinterpret_cast<const VkImageBlit*>(this);
20271  }
20272 
20273  bool operator==( ImageBlit const& rhs ) const
20274  {
20275  return ( srcSubresource == rhs.srcSubresource )
20276  && ( memcmp( srcOffsets, rhs.srcOffsets, 2 * sizeof( Offset3D ) ) == 0 )
20277  && ( dstSubresource == rhs.dstSubresource )
20278  && ( memcmp( dstOffsets, rhs.dstOffsets, 2 * sizeof( Offset3D ) ) == 0 );
20279  }
20280 
20281  bool operator!=( ImageBlit const& rhs ) const
20282  {
20283  return !operator==( rhs );
20284  }
20285 
20290  };
20291  static_assert( sizeof( ImageBlit ) == sizeof( VkImageBlit ), "struct and wrapper have different size!" );
20292 
20294  {
20295  BufferImageCopy( DeviceSize bufferOffset_ = 0, uint32_t bufferRowLength_ = 0, uint32_t bufferImageHeight_ = 0, ImageSubresourceLayers imageSubresource_ = ImageSubresourceLayers(), Offset3D imageOffset_ = Offset3D(), Extent3D imageExtent_ = Extent3D() )
20296  : bufferOffset( bufferOffset_ )
20297  , bufferRowLength( bufferRowLength_ )
20298  , bufferImageHeight( bufferImageHeight_ )
20299  , imageSubresource( imageSubresource_ )
20300  , imageOffset( imageOffset_ )
20301  , imageExtent( imageExtent_ )
20302  {
20303  }
20304 
20306  {
20307  memcpy( this, &rhs, sizeof( BufferImageCopy ) );
20308  }
20309 
20311  {
20312  memcpy( this, &rhs, sizeof( BufferImageCopy ) );
20313  return *this;
20314  }
20316  {
20317  bufferOffset = bufferOffset_;
20318  return *this;
20319  }
20320 
20322  {
20323  bufferRowLength = bufferRowLength_;
20324  return *this;
20325  }
20326 
20328  {
20329  bufferImageHeight = bufferImageHeight_;
20330  return *this;
20331  }
20332 
20334  {
20335  imageSubresource = imageSubresource_;
20336  return *this;
20337  }
20338 
20340  {
20341  imageOffset = imageOffset_;
20342  return *this;
20343  }
20344 
20346  {
20347  imageExtent = imageExtent_;
20348  return *this;
20349  }
20350 
20351  operator const VkBufferImageCopy&() const
20352  {
20353  return *reinterpret_cast<const VkBufferImageCopy*>(this);
20354  }
20355 
20356  bool operator==( BufferImageCopy const& rhs ) const
20357  {
20358  return ( bufferOffset == rhs.bufferOffset )
20359  && ( bufferRowLength == rhs.bufferRowLength )
20360  && ( bufferImageHeight == rhs.bufferImageHeight )
20361  && ( imageSubresource == rhs.imageSubresource )
20362  && ( imageOffset == rhs.imageOffset )
20363  && ( imageExtent == rhs.imageExtent );
20364  }
20365 
20366  bool operator!=( BufferImageCopy const& rhs ) const
20367  {
20368  return !operator==( rhs );
20369  }
20370 
20377  };
20378  static_assert( sizeof( BufferImageCopy ) == sizeof( VkBufferImageCopy ), "struct and wrapper have different size!" );
20379 
20381  {
20382  ImageResolve( ImageSubresourceLayers srcSubresource_ = ImageSubresourceLayers(), Offset3D srcOffset_ = Offset3D(), ImageSubresourceLayers dstSubresource_ = ImageSubresourceLayers(), Offset3D dstOffset_ = Offset3D(), Extent3D extent_ = Extent3D() )
20383  : srcSubresource( srcSubresource_ )
20384  , srcOffset( srcOffset_ )
20385  , dstSubresource( dstSubresource_ )
20386  , dstOffset( dstOffset_ )
20387  , extent( extent_ )
20388  {
20389  }
20390 
20392  {
20393  memcpy( this, &rhs, sizeof( ImageResolve ) );
20394  }
20395 
20397  {
20398  memcpy( this, &rhs, sizeof( ImageResolve ) );
20399  return *this;
20400  }
20402  {
20403  srcSubresource = srcSubresource_;
20404  return *this;
20405  }
20406 
20408  {
20409  srcOffset = srcOffset_;
20410  return *this;
20411  }
20412 
20414  {
20415  dstSubresource = dstSubresource_;
20416  return *this;
20417  }
20418 
20420  {
20421  dstOffset = dstOffset_;
20422  return *this;
20423  }
20424 
20426  {
20427  extent = extent_;
20428  return *this;
20429  }
20430 
20431  operator const VkImageResolve&() const
20432  {
20433  return *reinterpret_cast<const VkImageResolve*>(this);
20434  }
20435 
20436  bool operator==( ImageResolve const& rhs ) const
20437  {
20438  return ( srcSubresource == rhs.srcSubresource )
20439  && ( srcOffset == rhs.srcOffset )
20440  && ( dstSubresource == rhs.dstSubresource )
20441  && ( dstOffset == rhs.dstOffset )
20442  && ( extent == rhs.extent );
20443  }
20444 
20445  bool operator!=( ImageResolve const& rhs ) const
20446  {
20447  return !operator==( rhs );
20448  }
20449 
20455  };
20456  static_assert( sizeof( ImageResolve ) == sizeof( VkImageResolve ), "struct and wrapper have different size!" );
20457 
20459  {
20460  ClearAttachment( ImageAspectFlags aspectMask_ = ImageAspectFlags(), uint32_t colorAttachment_ = 0, ClearValue clearValue_ = ClearValue() )
20461  : aspectMask( aspectMask_ )
20462  , colorAttachment( colorAttachment_ )
20463  , clearValue( clearValue_ )
20464  {
20465  }
20466 
20468  {
20469  memcpy( this, &rhs, sizeof( ClearAttachment ) );
20470  }
20471 
20473  {
20474  memcpy( this, &rhs, sizeof( ClearAttachment ) );
20475  return *this;
20476  }
20478  {
20479  aspectMask = aspectMask_;
20480  return *this;
20481  }
20482 
20484  {
20485  colorAttachment = colorAttachment_;
20486  return *this;
20487  }
20488 
20490  {
20491  clearValue = clearValue_;
20492  return *this;
20493  }
20494 
20495  operator const VkClearAttachment&() const
20496  {
20497  return *reinterpret_cast<const VkClearAttachment*>(this);
20498  }
20499 
20503  };
20504  static_assert( sizeof( ClearAttachment ) == sizeof( VkClearAttachment ), "struct and wrapper have different size!" );
20505 
20507  {
20508  InputAttachmentAspectReference( uint32_t subpass_ = 0, uint32_t inputAttachmentIndex_ = 0, ImageAspectFlags aspectMask_ = ImageAspectFlags() )
20509  : subpass( subpass_ )
20510  , inputAttachmentIndex( inputAttachmentIndex_ )
20511  , aspectMask( aspectMask_ )
20512  {
20513  }
20514 
20516  {
20517  memcpy( this, &rhs, sizeof( InputAttachmentAspectReference ) );
20518  }
20519 
20521  {
20522  memcpy( this, &rhs, sizeof( InputAttachmentAspectReference ) );
20523  return *this;
20524  }
20526  {
20527  subpass = subpass_;
20528  return *this;
20529  }
20530 
20532  {
20533  inputAttachmentIndex = inputAttachmentIndex_;
20534  return *this;
20535  }
20536 
20538  {
20539  aspectMask = aspectMask_;
20540  return *this;
20541  }
20542 
20543  operator const VkInputAttachmentAspectReference&() const
20544  {
20545  return *reinterpret_cast<const VkInputAttachmentAspectReference*>(this);
20546  }
20547 
20549  {
20550  return ( subpass == rhs.subpass )
20552  && ( aspectMask == rhs.aspectMask );
20553  }
20554 
20556  {
20557  return !operator==( rhs );
20558  }
20559 
20563  };
20564  static_assert( sizeof( InputAttachmentAspectReference ) == sizeof( VkInputAttachmentAspectReference ), "struct and wrapper have different size!" );
20565 
20567 
20569  {
20570  RenderPassInputAttachmentAspectCreateInfo( uint32_t aspectReferenceCount_ = 0, const InputAttachmentAspectReference* pAspectReferences_ = nullptr )
20571  : aspectReferenceCount( aspectReferenceCount_ )
20572  , pAspectReferences( pAspectReferences_ )
20573  {
20574  }
20575 
20577  {
20578  memcpy( this, &rhs, sizeof( RenderPassInputAttachmentAspectCreateInfo ) );
20579  }
20580 
20582  {
20583  memcpy( this, &rhs, sizeof( RenderPassInputAttachmentAspectCreateInfo ) );
20584  return *this;
20585  }
20587  {
20588  pNext = pNext_;
20589  return *this;
20590  }
20591 
20593  {
20594  aspectReferenceCount = aspectReferenceCount_;
20595  return *this;
20596  }
20597 
20599  {
20600  pAspectReferences = pAspectReferences_;
20601  return *this;
20602  }
20603 
20605  {
20606  return *reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(this);
20607  }
20608 
20610  {
20611  return ( sType == rhs.sType )
20612  && ( pNext == rhs.pNext )
20614  && ( pAspectReferences == rhs.pAspectReferences );
20615  }
20616 
20618  {
20619  return !operator==( rhs );
20620  }
20621 
20622  private:
20624 
20625  public:
20626  const void* pNext = nullptr;
20629  };
20630  static_assert( sizeof( RenderPassInputAttachmentAspectCreateInfo ) == sizeof( VkRenderPassInputAttachmentAspectCreateInfo ), "struct and wrapper have different size!" );
20631 
20633 
20635  {
20637  : planeAspect( planeAspect_ )
20638  {
20639  }
20640 
20642  {
20643  memcpy( this, &rhs, sizeof( BindImagePlaneMemoryInfo ) );
20644  }
20645 
20647  {
20648  memcpy( this, &rhs, sizeof( BindImagePlaneMemoryInfo ) );
20649  return *this;
20650  }
20651  BindImagePlaneMemoryInfo& setPNext( const void* pNext_ )
20652  {
20653  pNext = pNext_;
20654  return *this;
20655  }
20656 
20658  {
20659  planeAspect = planeAspect_;
20660  return *this;
20661  }
20662 
20663  operator const VkBindImagePlaneMemoryInfo&() const
20664  {
20665  return *reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(this);
20666  }
20667 
20668  bool operator==( BindImagePlaneMemoryInfo const& rhs ) const
20669  {
20670  return ( sType == rhs.sType )
20671  && ( pNext == rhs.pNext )
20672  && ( planeAspect == rhs.planeAspect );
20673  }
20674 
20675  bool operator!=( BindImagePlaneMemoryInfo const& rhs ) const
20676  {
20677  return !operator==( rhs );
20678  }
20679 
20680  private:
20682 
20683  public:
20684  const void* pNext = nullptr;
20686  };
20687  static_assert( sizeof( BindImagePlaneMemoryInfo ) == sizeof( VkBindImagePlaneMemoryInfo ), "struct and wrapper have different size!" );
20688 
20690 
20692  {
20694  : planeAspect( planeAspect_ )
20695  {
20696  }
20697 
20699  {
20700  memcpy( this, &rhs, sizeof( ImagePlaneMemoryRequirementsInfo ) );
20701  }
20702 
20704  {
20705  memcpy( this, &rhs, sizeof( ImagePlaneMemoryRequirementsInfo ) );
20706  return *this;
20707  }
20709  {
20710  pNext = pNext_;
20711  return *this;
20712  }
20713 
20715  {
20716  planeAspect = planeAspect_;
20717  return *this;
20718  }
20719 
20720  operator const VkImagePlaneMemoryRequirementsInfo&() const
20721  {
20722  return *reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(this);
20723  }
20724 
20726  {
20727  return ( sType == rhs.sType )
20728  && ( pNext == rhs.pNext )
20729  && ( planeAspect == rhs.planeAspect );
20730  }
20731 
20733  {
20734  return !operator==( rhs );
20735  }
20736 
20737  private:
20739 
20740  public:
20741  const void* pNext = nullptr;
20743  };
20744  static_assert( sizeof( ImagePlaneMemoryRequirementsInfo ) == sizeof( VkImagePlaneMemoryRequirementsInfo ), "struct and wrapper have different size!" );
20745 
20747 
20749  {
20753  };
20754 
20756 
20758  {
20759  return SparseImageFormatFlags( bit0 ) | bit1;
20760  }
20761 
20763  {
20764  return ~( SparseImageFormatFlags( bits ) );
20765  }
20766 
20768  {
20769  enum
20770  {
20772  };
20773  };
20774 
20776  {
20777  operator const VkSparseImageFormatProperties&() const
20778  {
20779  return *reinterpret_cast<const VkSparseImageFormatProperties*>(this);
20780  }
20781 
20782  bool operator==( SparseImageFormatProperties const& rhs ) const
20783  {
20784  return ( aspectMask == rhs.aspectMask )
20785  && ( imageGranularity == rhs.imageGranularity )
20786  && ( flags == rhs.flags );
20787  }
20788 
20789  bool operator!=( SparseImageFormatProperties const& rhs ) const
20790  {
20791  return !operator==( rhs );
20792  }
20793 
20797  };
20798  static_assert( sizeof( SparseImageFormatProperties ) == sizeof( VkSparseImageFormatProperties ), "struct and wrapper have different size!" );
20799 
20801  {
20802  operator const VkSparseImageMemoryRequirements&() const
20803  {
20804  return *reinterpret_cast<const VkSparseImageMemoryRequirements*>(this);
20805  }
20806 
20808  {
20809  return ( formatProperties == rhs.formatProperties )
20811  && ( imageMipTailSize == rhs.imageMipTailSize )
20813  && ( imageMipTailStride == rhs.imageMipTailStride );
20814  }
20815 
20817  {
20818  return !operator==( rhs );
20819  }
20820 
20826  };
20827  static_assert( sizeof( SparseImageMemoryRequirements ) == sizeof( VkSparseImageMemoryRequirements ), "struct and wrapper have different size!" );
20828 
20830  {
20831  operator const VkSparseImageFormatProperties2&() const
20832  {
20833  return *reinterpret_cast<const VkSparseImageFormatProperties2*>(this);
20834  }
20835 
20836  bool operator==( SparseImageFormatProperties2 const& rhs ) const
20837  {
20838  return ( sType == rhs.sType )
20839  && ( pNext == rhs.pNext )
20840  && ( properties == rhs.properties );
20841  }
20842 
20843  bool operator!=( SparseImageFormatProperties2 const& rhs ) const
20844  {
20845  return !operator==( rhs );
20846  }
20847 
20848  private:
20850 
20851  public:
20852  void* pNext = nullptr;
20854  };
20855  static_assert( sizeof( SparseImageFormatProperties2 ) == sizeof( VkSparseImageFormatProperties2 ), "struct and wrapper have different size!" );
20856 
20858 
20860  {
20861  operator const VkSparseImageMemoryRequirements2&() const
20862  {
20863  return *reinterpret_cast<const VkSparseImageMemoryRequirements2*>(this);
20864  }
20865 
20867  {
20868  return ( sType == rhs.sType )
20869  && ( pNext == rhs.pNext )
20870  && ( memoryRequirements == rhs.memoryRequirements );
20871  }
20872 
20874  {
20875  return !operator==( rhs );
20876  }
20877 
20878  private:
20880 
20881  public:
20882  void* pNext = nullptr;
20884  };
20885  static_assert( sizeof( SparseImageMemoryRequirements2 ) == sizeof( VkSparseImageMemoryRequirements2 ), "struct and wrapper have different size!" );
20886 
20888 
20890  {
20892  };
20893 
20895 
20897  {
20898  return SparseMemoryBindFlags( bit0 ) | bit1;
20899  }
20900 
20902  {
20903  return ~( SparseMemoryBindFlags( bits ) );
20904  }
20905 
20907  {
20908  enum
20909  {
20911  };
20912  };
20913 
20915  {
20916  SparseMemoryBind( DeviceSize resourceOffset_ = 0, DeviceSize size_ = 0, DeviceMemory memory_ = DeviceMemory(), DeviceSize memoryOffset_ = 0, SparseMemoryBindFlags flags_ = SparseMemoryBindFlags() )
20917  : resourceOffset( resourceOffset_ )
20918  , size( size_ )
20919  , memory( memory_ )
20920  , memoryOffset( memoryOffset_ )
20921  , flags( flags_ )
20922  {
20923  }
20924 
20926  {
20927  memcpy( this, &rhs, sizeof( SparseMemoryBind ) );
20928  }
20929 
20931  {
20932  memcpy( this, &rhs, sizeof( SparseMemoryBind ) );
20933  return *this;
20934  }
20936  {
20937  resourceOffset = resourceOffset_;
20938  return *this;
20939  }
20940 
20942  {
20943  size = size_;
20944  return *this;
20945  }
20946 
20948  {
20949  memory = memory_;
20950  return *this;
20951  }
20952 
20954  {
20955  memoryOffset = memoryOffset_;
20956  return *this;
20957  }
20958 
20960  {
20961  flags = flags_;
20962  return *this;
20963  }
20964 
20965  operator const VkSparseMemoryBind&() const
20966  {
20967  return *reinterpret_cast<const VkSparseMemoryBind*>(this);
20968  }
20969 
20970  bool operator==( SparseMemoryBind const& rhs ) const
20971  {
20972  return ( resourceOffset == rhs.resourceOffset )
20973  && ( size == rhs.size )
20974  && ( memory == rhs.memory )
20975  && ( memoryOffset == rhs.memoryOffset )
20976  && ( flags == rhs.flags );
20977  }
20978 
20979  bool operator!=( SparseMemoryBind const& rhs ) const
20980  {
20981  return !operator==( rhs );
20982  }
20983 
20989  };
20990  static_assert( sizeof( SparseMemoryBind ) == sizeof( VkSparseMemoryBind ), "struct and wrapper have different size!" );
20991 
20993  {
20995  : subresource( subresource_ )
20996  , offset( offset_ )
20997  , extent( extent_ )
20998  , memory( memory_ )
20999  , memoryOffset( memoryOffset_ )
21000  , flags( flags_ )
21001  {
21002  }
21003 
21005  {
21006  memcpy( this, &rhs, sizeof( SparseImageMemoryBind ) );
21007  }
21008 
21010  {
21011  memcpy( this, &rhs, sizeof( SparseImageMemoryBind ) );
21012  return *this;
21013  }
21015  {
21016  subresource = subresource_;
21017  return *this;
21018  }
21019 
21021  {
21022  offset = offset_;
21023  return *this;
21024  }
21025 
21027  {
21028  extent = extent_;
21029  return *this;
21030  }
21031 
21033  {
21034  memory = memory_;
21035  return *this;
21036  }
21037 
21039  {
21040  memoryOffset = memoryOffset_;
21041  return *this;
21042  }
21043 
21045  {
21046  flags = flags_;
21047  return *this;
21048  }
21049 
21050  operator const VkSparseImageMemoryBind&() const
21051  {
21052  return *reinterpret_cast<const VkSparseImageMemoryBind*>(this);
21053  }
21054 
21055  bool operator==( SparseImageMemoryBind const& rhs ) const
21056  {
21057  return ( subresource == rhs.subresource )
21058  && ( offset == rhs.offset )
21059  && ( extent == rhs.extent )
21060  && ( memory == rhs.memory )
21061  && ( memoryOffset == rhs.memoryOffset )
21062  && ( flags == rhs.flags );
21063  }
21064 
21065  bool operator!=( SparseImageMemoryBind const& rhs ) const
21066  {
21067  return !operator==( rhs );
21068  }
21069 
21076  };
21077  static_assert( sizeof( SparseImageMemoryBind ) == sizeof( VkSparseImageMemoryBind ), "struct and wrapper have different size!" );
21078 
21080  {
21081  SparseBufferMemoryBindInfo( Buffer buffer_ = Buffer(), uint32_t bindCount_ = 0, const SparseMemoryBind* pBinds_ = nullptr )
21082  : buffer( buffer_ )
21083  , bindCount( bindCount_ )
21084  , pBinds( pBinds_ )
21085  {
21086  }
21087 
21089  {
21090  memcpy( this, &rhs, sizeof( SparseBufferMemoryBindInfo ) );
21091  }
21092 
21094  {
21095  memcpy( this, &rhs, sizeof( SparseBufferMemoryBindInfo ) );
21096  return *this;
21097  }
21099  {
21100  buffer = buffer_;
21101  return *this;
21102  }
21103 
21105  {
21106  bindCount = bindCount_;
21107  return *this;
21108  }
21109 
21111  {
21112  pBinds = pBinds_;
21113  return *this;
21114  }
21115 
21116  operator const VkSparseBufferMemoryBindInfo&() const
21117  {
21118  return *reinterpret_cast<const VkSparseBufferMemoryBindInfo*>(this);
21119  }
21120 
21121  bool operator==( SparseBufferMemoryBindInfo const& rhs ) const
21122  {
21123  return ( buffer == rhs.buffer )
21124  && ( bindCount == rhs.bindCount )
21125  && ( pBinds == rhs.pBinds );
21126  }
21127 
21128  bool operator!=( SparseBufferMemoryBindInfo const& rhs ) const
21129  {
21130  return !operator==( rhs );
21131  }
21132 
21136  };
21137  static_assert( sizeof( SparseBufferMemoryBindInfo ) == sizeof( VkSparseBufferMemoryBindInfo ), "struct and wrapper have different size!" );
21138 
21140  {
21141  SparseImageOpaqueMemoryBindInfo( Image image_ = Image(), uint32_t bindCount_ = 0, const SparseMemoryBind* pBinds_ = nullptr )
21142  : image( image_ )
21143  , bindCount( bindCount_ )
21144  , pBinds( pBinds_ )
21145  {
21146  }
21147 
21149  {
21150  memcpy( this, &rhs, sizeof( SparseImageOpaqueMemoryBindInfo ) );
21151  }
21152 
21154  {
21155  memcpy( this, &rhs, sizeof( SparseImageOpaqueMemoryBindInfo ) );
21156  return *this;
21157  }
21159  {
21160  image = image_;
21161  return *this;
21162  }
21163 
21165  {
21166  bindCount = bindCount_;
21167  return *this;
21168  }
21169 
21171  {
21172  pBinds = pBinds_;
21173  return *this;
21174  }
21175 
21176  operator const VkSparseImageOpaqueMemoryBindInfo&() const
21177  {
21178  return *reinterpret_cast<const VkSparseImageOpaqueMemoryBindInfo*>(this);
21179  }
21180 
21182  {
21183  return ( image == rhs.image )
21184  && ( bindCount == rhs.bindCount )
21185  && ( pBinds == rhs.pBinds );
21186  }
21187 
21189  {
21190  return !operator==( rhs );
21191  }
21192 
21196  };
21197  static_assert( sizeof( SparseImageOpaqueMemoryBindInfo ) == sizeof( VkSparseImageOpaqueMemoryBindInfo ), "struct and wrapper have different size!" );
21198 
21200  {
21201  SparseImageMemoryBindInfo( Image image_ = Image(), uint32_t bindCount_ = 0, const SparseImageMemoryBind* pBinds_ = nullptr )
21202  : image( image_ )
21203  , bindCount( bindCount_ )
21204  , pBinds( pBinds_ )
21205  {
21206  }
21207 
21209  {
21210  memcpy( this, &rhs, sizeof( SparseImageMemoryBindInfo ) );
21211  }
21212 
21214  {
21215  memcpy( this, &rhs, sizeof( SparseImageMemoryBindInfo ) );
21216  return *this;
21217  }
21219  {
21220  image = image_;
21221  return *this;
21222  }
21223 
21225  {
21226  bindCount = bindCount_;
21227  return *this;
21228  }
21229 
21231  {
21232  pBinds = pBinds_;
21233  return *this;
21234  }
21235 
21236  operator const VkSparseImageMemoryBindInfo&() const
21237  {
21238  return *reinterpret_cast<const VkSparseImageMemoryBindInfo*>(this);
21239  }
21240 
21241  bool operator==( SparseImageMemoryBindInfo const& rhs ) const
21242  {
21243  return ( image == rhs.image )
21244  && ( bindCount == rhs.bindCount )
21245  && ( pBinds == rhs.pBinds );
21246  }
21247 
21248  bool operator!=( SparseImageMemoryBindInfo const& rhs ) const
21249  {
21250  return !operator==( rhs );
21251  }
21252 
21256  };
21257  static_assert( sizeof( SparseImageMemoryBindInfo ) == sizeof( VkSparseImageMemoryBindInfo ), "struct and wrapper have different size!" );
21258 
21260  {
21261  BindSparseInfo( uint32_t waitSemaphoreCount_ = 0, const Semaphore* pWaitSemaphores_ = nullptr, uint32_t bufferBindCount_ = 0, const SparseBufferMemoryBindInfo* pBufferBinds_ = nullptr, uint32_t imageOpaqueBindCount_ = 0, const SparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds_ = nullptr, uint32_t imageBindCount_ = 0, const SparseImageMemoryBindInfo* pImageBinds_ = nullptr, uint32_t signalSemaphoreCount_ = 0, const Semaphore* pSignalSemaphores_ = nullptr )
21262  : waitSemaphoreCount( waitSemaphoreCount_ )
21263  , pWaitSemaphores( pWaitSemaphores_ )
21264  , bufferBindCount( bufferBindCount_ )
21265  , pBufferBinds( pBufferBinds_ )
21266  , imageOpaqueBindCount( imageOpaqueBindCount_ )
21267  , pImageOpaqueBinds( pImageOpaqueBinds_ )
21268  , imageBindCount( imageBindCount_ )
21269  , pImageBinds( pImageBinds_ )
21270  , signalSemaphoreCount( signalSemaphoreCount_ )
21271  , pSignalSemaphores( pSignalSemaphores_ )
21272  {
21273  }
21274 
21276  {
21277  memcpy( this, &rhs, sizeof( BindSparseInfo ) );
21278  }
21279 
21281  {
21282  memcpy( this, &rhs, sizeof( BindSparseInfo ) );
21283  return *this;
21284  }
21285  BindSparseInfo& setPNext( const void* pNext_ )
21286  {
21287  pNext = pNext_;
21288  return *this;
21289  }
21290 
21292  {
21293  waitSemaphoreCount = waitSemaphoreCount_;
21294  return *this;
21295  }
21296 
21297  BindSparseInfo& setPWaitSemaphores( const Semaphore* pWaitSemaphores_ )
21298  {
21299  pWaitSemaphores = pWaitSemaphores_;
21300  return *this;
21301  }
21302 
21304  {
21305  bufferBindCount = bufferBindCount_;
21306  return *this;
21307  }
21308 
21310  {
21311  pBufferBinds = pBufferBinds_;
21312  return *this;
21313  }
21314 
21316  {
21317  imageOpaqueBindCount = imageOpaqueBindCount_;
21318  return *this;
21319  }
21320 
21322  {
21323  pImageOpaqueBinds = pImageOpaqueBinds_;
21324  return *this;
21325  }
21326 
21328  {
21329  imageBindCount = imageBindCount_;
21330  return *this;
21331  }
21332 
21334  {
21335  pImageBinds = pImageBinds_;
21336  return *this;
21337  }
21338 
21340  {
21341  signalSemaphoreCount = signalSemaphoreCount_;
21342  return *this;
21343  }
21344 
21345  BindSparseInfo& setPSignalSemaphores( const Semaphore* pSignalSemaphores_ )
21346  {
21347  pSignalSemaphores = pSignalSemaphores_;
21348  return *this;
21349  }
21350 
21351  operator const VkBindSparseInfo&() const
21352  {
21353  return *reinterpret_cast<const VkBindSparseInfo*>(this);
21354  }
21355 
21356  bool operator==( BindSparseInfo const& rhs ) const
21357  {
21358  return ( sType == rhs.sType )
21359  && ( pNext == rhs.pNext )
21361  && ( pWaitSemaphores == rhs.pWaitSemaphores )
21362  && ( bufferBindCount == rhs.bufferBindCount )
21363  && ( pBufferBinds == rhs.pBufferBinds )
21365  && ( pImageOpaqueBinds == rhs.pImageOpaqueBinds )
21366  && ( imageBindCount == rhs.imageBindCount )
21367  && ( pImageBinds == rhs.pImageBinds )
21369  && ( pSignalSemaphores == rhs.pSignalSemaphores );
21370  }
21371 
21372  bool operator!=( BindSparseInfo const& rhs ) const
21373  {
21374  return !operator==( rhs );
21375  }
21376 
21377  private:
21379 
21380  public:
21381  const void* pNext = nullptr;
21392  };
21393  static_assert( sizeof( BindSparseInfo ) == sizeof( VkBindSparseInfo ), "struct and wrapper have different size!" );
21394 
21396  {
21415  };
21416 
21418 
21420  {
21421  return PipelineStageFlags( bit0 ) | bit1;
21422  }
21423 
21425  {
21426  return ~( PipelineStageFlags( bits ) );
21427  }
21428 
21429  template <> struct FlagTraits<PipelineStageFlagBits>
21430  {
21431  enum
21432  {
21434  };
21435  };
21436 
21438  {
21442  };
21443 
21445 
21447  {
21448  return CommandPoolCreateFlags( bit0 ) | bit1;
21449  }
21450 
21452  {
21453  return ~( CommandPoolCreateFlags( bits ) );
21454  }
21455 
21457  {
21458  enum
21459  {
21461  };
21462  };
21463 
21465  {
21467  : flags( flags_ )
21468  , queueFamilyIndex( queueFamilyIndex_ )
21469  {
21470  }
21471 
21473  {
21474  memcpy( this, &rhs, sizeof( CommandPoolCreateInfo ) );
21475  }
21476 
21478  {
21479  memcpy( this, &rhs, sizeof( CommandPoolCreateInfo ) );
21480  return *this;
21481  }
21482  CommandPoolCreateInfo& setPNext( const void* pNext_ )
21483  {
21484  pNext = pNext_;
21485  return *this;
21486  }
21487 
21489  {
21490  flags = flags_;
21491  return *this;
21492  }
21493 
21495  {
21496  queueFamilyIndex = queueFamilyIndex_;
21497  return *this;
21498  }
21499 
21500  operator const VkCommandPoolCreateInfo&() const
21501  {
21502  return *reinterpret_cast<const VkCommandPoolCreateInfo*>(this);
21503  }
21504 
21505  bool operator==( CommandPoolCreateInfo const& rhs ) const
21506  {
21507  return ( sType == rhs.sType )
21508  && ( pNext == rhs.pNext )
21509  && ( flags == rhs.flags )
21510  && ( queueFamilyIndex == rhs.queueFamilyIndex );
21511  }
21512 
21513  bool operator!=( CommandPoolCreateInfo const& rhs ) const
21514  {
21515  return !operator==( rhs );
21516  }
21517 
21518  private:
21520 
21521  public:
21522  const void* pNext = nullptr;
21525  };
21526  static_assert( sizeof( CommandPoolCreateInfo ) == sizeof( VkCommandPoolCreateInfo ), "struct and wrapper have different size!" );
21527 
21529  {
21531  };
21532 
21534 
21536  {
21537  return CommandPoolResetFlags( bit0 ) | bit1;
21538  }
21539 
21541  {
21542  return ~( CommandPoolResetFlags( bits ) );
21543  }
21544 
21546  {
21547  enum
21548  {
21550  };
21551  };
21552 
21554  {
21556  };
21557 
21559 
21561  {
21562  return CommandBufferResetFlags( bit0 ) | bit1;
21563  }
21564 
21566  {
21567  return ~( CommandBufferResetFlags( bits ) );
21568  }
21569 
21571  {
21572  enum
21573  {
21575  };
21576  };
21577 
21579  {
21587  };
21588 
21590 
21592  {
21593  return SampleCountFlags( bit0 ) | bit1;
21594  }
21595 
21597  {
21598  return ~( SampleCountFlags( bits ) );
21599  }
21600 
21601  template <> struct FlagTraits<SampleCountFlagBits>
21602  {
21603  enum
21604  {
21606  };
21607  };
21608 
21610  {
21611  operator const VkImageFormatProperties&() const
21612  {
21613  return *reinterpret_cast<const VkImageFormatProperties*>(this);
21614  }
21615 
21616  bool operator==( ImageFormatProperties const& rhs ) const
21617  {
21618  return ( maxExtent == rhs.maxExtent )
21619  && ( maxMipLevels == rhs.maxMipLevels )
21620  && ( maxArrayLayers == rhs.maxArrayLayers )
21621  && ( sampleCounts == rhs.sampleCounts )
21622  && ( maxResourceSize == rhs.maxResourceSize );
21623  }
21624 
21625  bool operator!=( ImageFormatProperties const& rhs ) const
21626  {
21627  return !operator==( rhs );
21628  }
21629 
21635  };
21636  static_assert( sizeof( ImageFormatProperties ) == sizeof( VkImageFormatProperties ), "struct and wrapper have different size!" );
21637 
21639  {
21640  ImageCreateInfo( ImageCreateFlags flags_ = ImageCreateFlags(), ImageType imageType_ = ImageType::e1D, Format format_ = Format::eUndefined, Extent3D extent_ = Extent3D(), uint32_t mipLevels_ = 0, uint32_t arrayLayers_ = 0, SampleCountFlagBits samples_ = SampleCountFlagBits::e1, ImageTiling tiling_ = ImageTiling::eOptimal, ImageUsageFlags usage_ = ImageUsageFlags(), SharingMode sharingMode_ = SharingMode::eExclusive, uint32_t queueFamilyIndexCount_ = 0, const uint32_t* pQueueFamilyIndices_ = nullptr, ImageLayout initialLayout_ = ImageLayout::eUndefined )
21641  : flags( flags_ )
21642  , imageType( imageType_ )
21643  , format( format_ )
21644  , extent( extent_ )
21645  , mipLevels( mipLevels_ )
21646  , arrayLayers( arrayLayers_ )
21647  , samples( samples_ )
21648  , tiling( tiling_ )
21649  , usage( usage_ )
21650  , sharingMode( sharingMode_ )
21651  , queueFamilyIndexCount( queueFamilyIndexCount_ )
21652  , pQueueFamilyIndices( pQueueFamilyIndices_ )
21653  , initialLayout( initialLayout_ )
21654  {
21655  }
21656 
21658  {
21659  memcpy( this, &rhs, sizeof( ImageCreateInfo ) );
21660  }
21661 
21663  {
21664  memcpy( this, &rhs, sizeof( ImageCreateInfo ) );
21665  return *this;
21666  }
21667  ImageCreateInfo& setPNext( const void* pNext_ )
21668  {
21669  pNext = pNext_;
21670  return *this;
21671  }
21672 
21674  {
21675  flags = flags_;
21676  return *this;
21677  }
21678 
21680  {
21681  imageType = imageType_;
21682  return *this;
21683  }
21684 
21686  {
21687  format = format_;
21688  return *this;
21689  }
21690 
21692  {
21693  extent = extent_;
21694  return *this;
21695  }
21696 
21698  {
21699  mipLevels = mipLevels_;
21700  return *this;
21701  }
21702 
21704  {
21705  arrayLayers = arrayLayers_;
21706  return *this;
21707  }
21708 
21710  {
21711  samples = samples_;
21712  return *this;
21713  }
21714 
21716  {
21717  tiling = tiling_;
21718  return *this;
21719  }
21720 
21722  {
21723  usage = usage_;
21724  return *this;
21725  }
21726 
21728  {
21729  sharingMode = sharingMode_;
21730  return *this;
21731  }
21732 
21734  {
21735  queueFamilyIndexCount = queueFamilyIndexCount_;
21736  return *this;
21737  }
21738 
21739  ImageCreateInfo& setPQueueFamilyIndices( const uint32_t* pQueueFamilyIndices_ )
21740  {
21741  pQueueFamilyIndices = pQueueFamilyIndices_;
21742  return *this;
21743  }
21744 
21746  {
21747  initialLayout = initialLayout_;
21748  return *this;
21749  }
21750 
21751  operator const VkImageCreateInfo&() const
21752  {
21753  return *reinterpret_cast<const VkImageCreateInfo*>(this);
21754  }
21755 
21756  bool operator==( ImageCreateInfo const& rhs ) const
21757  {
21758  return ( sType == rhs.sType )
21759  && ( pNext == rhs.pNext )
21760  && ( flags == rhs.flags )
21761  && ( imageType == rhs.imageType )
21762  && ( format == rhs.format )
21763  && ( extent == rhs.extent )
21764  && ( mipLevels == rhs.mipLevels )
21765  && ( arrayLayers == rhs.arrayLayers )
21766  && ( samples == rhs.samples )
21767  && ( tiling == rhs.tiling )
21768  && ( usage == rhs.usage )
21769  && ( sharingMode == rhs.sharingMode )
21772  && ( initialLayout == rhs.initialLayout );
21773  }
21774 
21775  bool operator!=( ImageCreateInfo const& rhs ) const
21776  {
21777  return !operator==( rhs );
21778  }
21779 
21780  private:
21782 
21783  public:
21784  const void* pNext = nullptr;
21798  };
21799  static_assert( sizeof( ImageCreateInfo ) == sizeof( VkImageCreateInfo ), "struct and wrapper have different size!" );
21800 
21802  {
21803  PipelineMultisampleStateCreateInfo( PipelineMultisampleStateCreateFlags flags_ = PipelineMultisampleStateCreateFlags(), SampleCountFlagBits rasterizationSamples_ = SampleCountFlagBits::e1, Bool32 sampleShadingEnable_ = 0, float minSampleShading_ = 0, const SampleMask* pSampleMask_ = nullptr, Bool32 alphaToCoverageEnable_ = 0, Bool32 alphaToOneEnable_ = 0 )
21804  : flags( flags_ )
21805  , rasterizationSamples( rasterizationSamples_ )
21806  , sampleShadingEnable( sampleShadingEnable_ )
21807  , minSampleShading( minSampleShading_ )
21808  , pSampleMask( pSampleMask_ )
21809  , alphaToCoverageEnable( alphaToCoverageEnable_ )
21810  , alphaToOneEnable( alphaToOneEnable_ )
21811  {
21812  }
21813 
21815  {
21816  memcpy( this, &rhs, sizeof( PipelineMultisampleStateCreateInfo ) );
21817  }
21818 
21820  {
21821  memcpy( this, &rhs, sizeof( PipelineMultisampleStateCreateInfo ) );
21822  return *this;
21823  }
21825  {
21826  pNext = pNext_;
21827  return *this;
21828  }
21829 
21831  {
21832  flags = flags_;
21833  return *this;
21834  }
21835 
21837  {
21838  rasterizationSamples = rasterizationSamples_;
21839  return *this;
21840  }
21841 
21843  {
21844  sampleShadingEnable = sampleShadingEnable_;
21845  return *this;
21846  }
21847 
21849  {
21850  minSampleShading = minSampleShading_;
21851  return *this;
21852  }
21853 
21855  {
21856  pSampleMask = pSampleMask_;
21857  return *this;
21858  }
21859 
21861  {
21862  alphaToCoverageEnable = alphaToCoverageEnable_;
21863  return *this;
21864  }
21865 
21867  {
21868  alphaToOneEnable = alphaToOneEnable_;
21869  return *this;
21870  }
21871 
21873  {
21874  return *reinterpret_cast<const VkPipelineMultisampleStateCreateInfo*>(this);
21875  }
21876 
21878  {
21879  return ( sType == rhs.sType )
21880  && ( pNext == rhs.pNext )
21881  && ( flags == rhs.flags )
21884  && ( minSampleShading == rhs.minSampleShading )
21885  && ( pSampleMask == rhs.pSampleMask )
21887  && ( alphaToOneEnable == rhs.alphaToOneEnable );
21888  }
21889 
21891  {
21892  return !operator==( rhs );
21893  }
21894 
21895  private:
21897 
21898  public:
21899  const void* pNext = nullptr;
21907  };
21908  static_assert( sizeof( PipelineMultisampleStateCreateInfo ) == sizeof( VkPipelineMultisampleStateCreateInfo ), "struct and wrapper have different size!" );
21909 
21911  {
21912  GraphicsPipelineCreateInfo( PipelineCreateFlags flags_ = PipelineCreateFlags(), uint32_t stageCount_ = 0, const PipelineShaderStageCreateInfo* pStages_ = nullptr, const PipelineVertexInputStateCreateInfo* pVertexInputState_ = nullptr, const PipelineInputAssemblyStateCreateInfo* pInputAssemblyState_ = nullptr, const PipelineTessellationStateCreateInfo* pTessellationState_ = nullptr, const PipelineViewportStateCreateInfo* pViewportState_ = nullptr, const PipelineRasterizationStateCreateInfo* pRasterizationState_ = nullptr, const PipelineMultisampleStateCreateInfo* pMultisampleState_ = nullptr, const PipelineDepthStencilStateCreateInfo* pDepthStencilState_ = nullptr, const PipelineColorBlendStateCreateInfo* pColorBlendState_ = nullptr, const PipelineDynamicStateCreateInfo* pDynamicState_ = nullptr, PipelineLayout layout_ = PipelineLayout(), RenderPass renderPass_ = RenderPass(), uint32_t subpass_ = 0, Pipeline basePipelineHandle_ = Pipeline(), int32_t basePipelineIndex_ = 0 )
21913  : flags( flags_ )
21914  , stageCount( stageCount_ )
21915  , pStages( pStages_ )
21916  , pVertexInputState( pVertexInputState_ )
21917  , pInputAssemblyState( pInputAssemblyState_ )
21918  , pTessellationState( pTessellationState_ )
21919  , pViewportState( pViewportState_ )
21920  , pRasterizationState( pRasterizationState_ )
21921  , pMultisampleState( pMultisampleState_ )
21922  , pDepthStencilState( pDepthStencilState_ )
21923  , pColorBlendState( pColorBlendState_ )
21924  , pDynamicState( pDynamicState_ )
21925  , layout( layout_ )
21926  , renderPass( renderPass_ )
21927  , subpass( subpass_ )
21928  , basePipelineHandle( basePipelineHandle_ )
21929  , basePipelineIndex( basePipelineIndex_ )
21930  {
21931  }
21932 
21934  {
21935  memcpy( this, &rhs, sizeof( GraphicsPipelineCreateInfo ) );
21936  }
21937 
21939  {
21940  memcpy( this, &rhs, sizeof( GraphicsPipelineCreateInfo ) );
21941  return *this;
21942  }
21943  GraphicsPipelineCreateInfo& setPNext( const void* pNext_ )
21944  {
21945  pNext = pNext_;
21946  return *this;
21947  }
21948 
21950  {
21951  flags = flags_;
21952  return *this;
21953  }
21954 
21956  {
21957  stageCount = stageCount_;
21958  return *this;
21959  }
21960 
21962  {
21963  pStages = pStages_;
21964  return *this;
21965  }
21966 
21968  {
21969  pVertexInputState = pVertexInputState_;
21970  return *this;
21971  }
21972 
21974  {
21975  pInputAssemblyState = pInputAssemblyState_;
21976  return *this;
21977  }
21978 
21980  {
21981  pTessellationState = pTessellationState_;
21982  return *this;
21983  }
21984 
21986  {
21987  pViewportState = pViewportState_;
21988  return *this;
21989  }
21990 
21992  {
21993  pRasterizationState = pRasterizationState_;
21994  return *this;
21995  }
21996 
21998  {
21999  pMultisampleState = pMultisampleState_;
22000  return *this;
22001  }
22002 
22004  {
22005  pDepthStencilState = pDepthStencilState_;
22006  return *this;
22007  }
22008 
22010  {
22011  pColorBlendState = pColorBlendState_;
22012  return *this;
22013  }
22014 
22016  {
22017  pDynamicState = pDynamicState_;
22018  return *this;
22019  }
22020 
22022  {
22023  layout = layout_;
22024  return *this;
22025  }
22026 
22028  {
22029  renderPass = renderPass_;
22030  return *this;
22031  }
22032 
22034  {
22035  subpass = subpass_;
22036  return *this;
22037  }
22038 
22040  {
22041  basePipelineHandle = basePipelineHandle_;
22042  return *this;
22043  }
22044 
22046  {
22047  basePipelineIndex = basePipelineIndex_;
22048  return *this;
22049  }
22050 
22051  operator const VkGraphicsPipelineCreateInfo&() const
22052  {
22053  return *reinterpret_cast<const VkGraphicsPipelineCreateInfo*>(this);
22054  }
22055 
22056  bool operator==( GraphicsPipelineCreateInfo const& rhs ) const
22057  {
22058  return ( sType == rhs.sType )
22059  && ( pNext == rhs.pNext )
22060  && ( flags == rhs.flags )
22061  && ( stageCount == rhs.stageCount )
22062  && ( pStages == rhs.pStages )
22063  && ( pVertexInputState == rhs.pVertexInputState )
22066  && ( pViewportState == rhs.pViewportState )
22068  && ( pMultisampleState == rhs.pMultisampleState )
22070  && ( pColorBlendState == rhs.pColorBlendState )
22071  && ( pDynamicState == rhs.pDynamicState )
22072  && ( layout == rhs.layout )
22073  && ( renderPass == rhs.renderPass )
22074  && ( subpass == rhs.subpass )
22076  && ( basePipelineIndex == rhs.basePipelineIndex );
22077  }
22078 
22079  bool operator!=( GraphicsPipelineCreateInfo const& rhs ) const
22080  {
22081  return !operator==( rhs );
22082  }
22083 
22084  private:
22086 
22087  public:
22088  const void* pNext = nullptr;
22106  };
22107  static_assert( sizeof( GraphicsPipelineCreateInfo ) == sizeof( VkGraphicsPipelineCreateInfo ), "struct and wrapper have different size!" );
22108 
22110  {
22111  operator const VkPhysicalDeviceLimits&() const
22112  {
22113  return *reinterpret_cast<const VkPhysicalDeviceLimits*>(this);
22114  }
22115 
22116  bool operator==( PhysicalDeviceLimits const& rhs ) const
22117  {
22118  return ( maxImageDimension1D == rhs.maxImageDimension1D )
22170  && ( memcmp( maxComputeWorkGroupCount, rhs.maxComputeWorkGroupCount, 3 * sizeof( uint32_t ) ) == 0 )
22172  && ( memcmp( maxComputeWorkGroupSize, rhs.maxComputeWorkGroupSize, 3 * sizeof( uint32_t ) ) == 0 )
22178  && ( maxSamplerLodBias == rhs.maxSamplerLodBias )
22180  && ( maxViewports == rhs.maxViewports )
22181  && ( memcmp( maxViewportDimensions, rhs.maxViewportDimensions, 2 * sizeof( uint32_t ) ) == 0 )
22182  && ( memcmp( viewportBoundsRange, rhs.viewportBoundsRange, 2 * sizeof( float ) ) == 0 )
22188  && ( minTexelOffset == rhs.minTexelOffset )
22189  && ( maxTexelOffset == rhs.maxTexelOffset )
22210  && ( timestampPeriod == rhs.timestampPeriod )
22211  && ( maxClipDistances == rhs.maxClipDistances )
22212  && ( maxCullDistances == rhs.maxCullDistances )
22215  && ( memcmp( pointSizeRange, rhs.pointSizeRange, 2 * sizeof( float ) ) == 0 )
22216  && ( memcmp( lineWidthRange, rhs.lineWidthRange, 2 * sizeof( float ) ) == 0 )
22219  && ( strictLines == rhs.strictLines )
22224  }
22225 
22226  bool operator!=( PhysicalDeviceLimits const& rhs ) const
22227  {
22228  return !operator==( rhs );
22229  }
22230 
22328  float pointSizeRange[2];
22329  float lineWidthRange[2];
22337  };
22338  static_assert( sizeof( PhysicalDeviceLimits ) == sizeof( VkPhysicalDeviceLimits ), "struct and wrapper have different size!" );
22339 
22341  {
22342  operator const VkPhysicalDeviceProperties&() const
22343  {
22344  return *reinterpret_cast<const VkPhysicalDeviceProperties*>(this);
22345  }
22346 
22347  bool operator==( PhysicalDeviceProperties const& rhs ) const
22348  {
22349  return ( apiVersion == rhs.apiVersion )
22350  && ( driverVersion == rhs.driverVersion )
22351  && ( vendorID == rhs.vendorID )
22352  && ( deviceID == rhs.deviceID )
22353  && ( deviceType == rhs.deviceType )
22354  && ( memcmp( deviceName, rhs.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof( char ) ) == 0 )
22355  && ( memcmp( pipelineCacheUUID, rhs.pipelineCacheUUID, VK_UUID_SIZE * sizeof( uint8_t ) ) == 0 )
22356  && ( limits == rhs.limits )
22357  && ( sparseProperties == rhs.sparseProperties );
22358  }
22359 
22360  bool operator!=( PhysicalDeviceProperties const& rhs ) const
22361  {
22362  return !operator==( rhs );
22363  }
22364 
22374  };
22375  static_assert( sizeof( PhysicalDeviceProperties ) == sizeof( VkPhysicalDeviceProperties ), "struct and wrapper have different size!" );
22376 
22378  {
22379  operator const VkPhysicalDeviceProperties2&() const
22380  {
22381  return *reinterpret_cast<const VkPhysicalDeviceProperties2*>(this);
22382  }
22383 
22384  bool operator==( PhysicalDeviceProperties2 const& rhs ) const
22385  {
22386  return ( sType == rhs.sType )
22387  && ( pNext == rhs.pNext )
22388  && ( properties == rhs.properties );
22389  }
22390 
22391  bool operator!=( PhysicalDeviceProperties2 const& rhs ) const
22392  {
22393  return !operator==( rhs );
22394  }
22395 
22396  private:
22398 
22399  public:
22400  void* pNext = nullptr;
22402  };
22403  static_assert( sizeof( PhysicalDeviceProperties2 ) == sizeof( VkPhysicalDeviceProperties2 ), "struct and wrapper have different size!" );
22404 
22406 
22408  {
22409  operator const VkImageFormatProperties2&() const
22410  {
22411  return *reinterpret_cast<const VkImageFormatProperties2*>(this);
22412  }
22413 
22414  bool operator==( ImageFormatProperties2 const& rhs ) const
22415  {
22416  return ( sType == rhs.sType )
22417  && ( pNext == rhs.pNext )
22419  }
22420 
22421  bool operator!=( ImageFormatProperties2 const& rhs ) const
22422  {
22423  return !operator==( rhs );
22424  }
22425 
22426  private:
22428 
22429  public:
22430  void* pNext = nullptr;
22432  };
22433  static_assert( sizeof( ImageFormatProperties2 ) == sizeof( VkImageFormatProperties2 ), "struct and wrapper have different size!" );
22434 
22436 
22438  {
22440  : format( format_ )
22441  , type( type_ )
22442  , samples( samples_ )
22443  , usage( usage_ )
22444  , tiling( tiling_ )
22445  {
22446  }
22447 
22449  {
22450  memcpy( this, &rhs, sizeof( PhysicalDeviceSparseImageFormatInfo2 ) );
22451  }
22452 
22454  {
22455  memcpy( this, &rhs, sizeof( PhysicalDeviceSparseImageFormatInfo2 ) );
22456  return *this;
22457  }
22459  {
22460  pNext = pNext_;
22461  return *this;
22462  }
22463 
22465  {
22466  format = format_;
22467  return *this;
22468  }
22469 
22471  {
22472  type = type_;
22473  return *this;
22474  }
22475 
22477  {
22478  samples = samples_;
22479  return *this;
22480  }
22481 
22483  {
22484  usage = usage_;
22485  return *this;
22486  }
22487 
22489  {
22490  tiling = tiling_;
22491  return *this;
22492  }
22493 
22495  {
22496  return *reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2*>(this);
22497  }
22498 
22500  {
22501  return ( sType == rhs.sType )
22502  && ( pNext == rhs.pNext )
22503  && ( format == rhs.format )
22504  && ( type == rhs.type )
22505  && ( samples == rhs.samples )
22506  && ( usage == rhs.usage )
22507  && ( tiling == rhs.tiling );
22508  }
22509 
22511  {
22512  return !operator==( rhs );
22513  }
22514 
22515  private:
22517 
22518  public:
22519  const void* pNext = nullptr;
22525  };
22526  static_assert( sizeof( PhysicalDeviceSparseImageFormatInfo2 ) == sizeof( VkPhysicalDeviceSparseImageFormatInfo2 ), "struct and wrapper have different size!" );
22527 
22529 
22531  {
22532  SampleLocationsInfoEXT( SampleCountFlagBits sampleLocationsPerPixel_ = SampleCountFlagBits::e1, Extent2D sampleLocationGridSize_ = Extent2D(), uint32_t sampleLocationsCount_ = 0, const SampleLocationEXT* pSampleLocations_ = nullptr )
22533  : sampleLocationsPerPixel( sampleLocationsPerPixel_ )
22534  , sampleLocationGridSize( sampleLocationGridSize_ )
22535  , sampleLocationsCount( sampleLocationsCount_ )
22536  , pSampleLocations( pSampleLocations_ )
22537  {
22538  }
22539 
22541  {
22542  memcpy( this, &rhs, sizeof( SampleLocationsInfoEXT ) );
22543  }
22544 
22546  {
22547  memcpy( this, &rhs, sizeof( SampleLocationsInfoEXT ) );
22548  return *this;
22549  }
22550  SampleLocationsInfoEXT& setPNext( const void* pNext_ )
22551  {
22552  pNext = pNext_;
22553  return *this;
22554  }
22555 
22557  {
22558  sampleLocationsPerPixel = sampleLocationsPerPixel_;
22559  return *this;
22560  }
22561 
22563  {
22564  sampleLocationGridSize = sampleLocationGridSize_;
22565  return *this;
22566  }
22567 
22569  {
22570  sampleLocationsCount = sampleLocationsCount_;
22571  return *this;
22572  }
22573 
22575  {
22576  pSampleLocations = pSampleLocations_;
22577  return *this;
22578  }
22579 
22580  operator const VkSampleLocationsInfoEXT&() const
22581  {
22582  return *reinterpret_cast<const VkSampleLocationsInfoEXT*>(this);
22583  }
22584 
22585  bool operator==( SampleLocationsInfoEXT const& rhs ) const
22586  {
22587  return ( sType == rhs.sType )
22588  && ( pNext == rhs.pNext )
22592  && ( pSampleLocations == rhs.pSampleLocations );
22593  }
22594 
22595  bool operator!=( SampleLocationsInfoEXT const& rhs ) const
22596  {
22597  return !operator==( rhs );
22598  }
22599 
22600  private:
22602 
22603  public:
22604  const void* pNext = nullptr;
22609  };
22610  static_assert( sizeof( SampleLocationsInfoEXT ) == sizeof( VkSampleLocationsInfoEXT ), "struct and wrapper have different size!" );
22611 
22613  {
22615  : attachmentIndex( attachmentIndex_ )
22616  , sampleLocationsInfo( sampleLocationsInfo_ )
22617  {
22618  }
22619 
22621  {
22622  memcpy( this, &rhs, sizeof( AttachmentSampleLocationsEXT ) );
22623  }
22624 
22626  {
22627  memcpy( this, &rhs, sizeof( AttachmentSampleLocationsEXT ) );
22628  return *this;
22629  }
22631  {
22632  attachmentIndex = attachmentIndex_;
22633  return *this;
22634  }
22635 
22637  {
22638  sampleLocationsInfo = sampleLocationsInfo_;
22639  return *this;
22640  }
22641 
22642  operator const VkAttachmentSampleLocationsEXT&() const
22643  {
22644  return *reinterpret_cast<const VkAttachmentSampleLocationsEXT*>(this);
22645  }
22646 
22647  bool operator==( AttachmentSampleLocationsEXT const& rhs ) const
22648  {
22649  return ( attachmentIndex == rhs.attachmentIndex )
22651  }
22652 
22653  bool operator!=( AttachmentSampleLocationsEXT const& rhs ) const
22654  {
22655  return !operator==( rhs );
22656  }
22657 
22660  };
22661  static_assert( sizeof( AttachmentSampleLocationsEXT ) == sizeof( VkAttachmentSampleLocationsEXT ), "struct and wrapper have different size!" );
22662 
22664  {
22666  : subpassIndex( subpassIndex_ )
22667  , sampleLocationsInfo( sampleLocationsInfo_ )
22668  {
22669  }
22670 
22672  {
22673  memcpy( this, &rhs, sizeof( SubpassSampleLocationsEXT ) );
22674  }
22675 
22677  {
22678  memcpy( this, &rhs, sizeof( SubpassSampleLocationsEXT ) );
22679  return *this;
22680  }
22682  {
22683  subpassIndex = subpassIndex_;
22684  return *this;
22685  }
22686 
22688  {
22689  sampleLocationsInfo = sampleLocationsInfo_;
22690  return *this;
22691  }
22692 
22693  operator const VkSubpassSampleLocationsEXT&() const
22694  {
22695  return *reinterpret_cast<const VkSubpassSampleLocationsEXT*>(this);
22696  }
22697 
22698  bool operator==( SubpassSampleLocationsEXT const& rhs ) const
22699  {
22700  return ( subpassIndex == rhs.subpassIndex )
22702  }
22703 
22704  bool operator!=( SubpassSampleLocationsEXT const& rhs ) const
22705  {
22706  return !operator==( rhs );
22707  }
22708 
22711  };
22712  static_assert( sizeof( SubpassSampleLocationsEXT ) == sizeof( VkSubpassSampleLocationsEXT ), "struct and wrapper have different size!" );
22713 
22715  {
22716  RenderPassSampleLocationsBeginInfoEXT( uint32_t attachmentInitialSampleLocationsCount_ = 0, const AttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations_ = nullptr, uint32_t postSubpassSampleLocationsCount_ = 0, const SubpassSampleLocationsEXT* pPostSubpassSampleLocations_ = nullptr )
22717  : attachmentInitialSampleLocationsCount( attachmentInitialSampleLocationsCount_ )
22718  , pAttachmentInitialSampleLocations( pAttachmentInitialSampleLocations_ )
22719  , postSubpassSampleLocationsCount( postSubpassSampleLocationsCount_ )
22720  , pPostSubpassSampleLocations( pPostSubpassSampleLocations_ )
22721  {
22722  }
22723 
22725  {
22726  memcpy( this, &rhs, sizeof( RenderPassSampleLocationsBeginInfoEXT ) );
22727  }
22728 
22730  {
22731  memcpy( this, &rhs, sizeof( RenderPassSampleLocationsBeginInfoEXT ) );
22732  return *this;
22733  }
22735  {
22736  pNext = pNext_;
22737  return *this;
22738  }
22739 
22741  {
22742  attachmentInitialSampleLocationsCount = attachmentInitialSampleLocationsCount_;
22743  return *this;
22744  }
22745 
22747  {
22748  pAttachmentInitialSampleLocations = pAttachmentInitialSampleLocations_;
22749  return *this;
22750  }
22751 
22753  {
22754  postSubpassSampleLocationsCount = postSubpassSampleLocationsCount_;
22755  return *this;
22756  }
22757 
22759  {
22760  pPostSubpassSampleLocations = pPostSubpassSampleLocations_;
22761  return *this;
22762  }
22763 
22765  {
22766  return *reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(this);
22767  }
22768 
22770  {
22771  return ( sType == rhs.sType )
22772  && ( pNext == rhs.pNext )
22777  }
22778 
22780  {
22781  return !operator==( rhs );
22782  }
22783 
22784  private:
22786 
22787  public:
22788  const void* pNext = nullptr;
22793  };
22794  static_assert( sizeof( RenderPassSampleLocationsBeginInfoEXT ) == sizeof( VkRenderPassSampleLocationsBeginInfoEXT ), "struct and wrapper have different size!" );
22795 
22797  {
22799  : sampleLocationsEnable( sampleLocationsEnable_ )
22800  , sampleLocationsInfo( sampleLocationsInfo_ )
22801  {
22802  }
22803 
22805  {
22806  memcpy( this, &rhs, sizeof( PipelineSampleLocationsStateCreateInfoEXT ) );
22807  }
22808 
22810  {
22811  memcpy( this, &rhs, sizeof( PipelineSampleLocationsStateCreateInfoEXT ) );
22812  return *this;
22813  }
22815  {
22816  pNext = pNext_;
22817  return *this;
22818  }
22819 
22821  {
22822  sampleLocationsEnable = sampleLocationsEnable_;
22823  return *this;
22824  }
22825 
22827  {
22828  sampleLocationsInfo = sampleLocationsInfo_;
22829  return *this;
22830  }
22831 
22833  {
22834  return *reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(this);
22835  }
22836 
22838  {
22839  return ( sType == rhs.sType )
22840  && ( pNext == rhs.pNext )
22843  }
22844 
22846  {
22847  return !operator==( rhs );
22848  }
22849 
22850  private:
22852 
22853  public:
22854  const void* pNext = nullptr;
22857  };
22858  static_assert( sizeof( PipelineSampleLocationsStateCreateInfoEXT ) == sizeof( VkPipelineSampleLocationsStateCreateInfoEXT ), "struct and wrapper have different size!" );
22859 
22861  {
22863  {
22864  return *reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(this);
22865  }
22866 
22868  {
22869  return ( sType == rhs.sType )
22870  && ( pNext == rhs.pNext )
22873  && ( memcmp( sampleLocationCoordinateRange, rhs.sampleLocationCoordinateRange, 2 * sizeof( float ) ) == 0 )
22876  }
22877 
22879  {
22880  return !operator==( rhs );
22881  }
22882 
22883  private:
22885 
22886  public:
22887  void* pNext = nullptr;
22893  };
22894  static_assert( sizeof( PhysicalDeviceSampleLocationsPropertiesEXT ) == sizeof( VkPhysicalDeviceSampleLocationsPropertiesEXT ), "struct and wrapper have different size!" );
22895 
22897  {
22899  };
22900 
22902 
22904  {
22905  return AttachmentDescriptionFlags( bit0 ) | bit1;
22906  }
22907 
22909  {
22910  return ~( AttachmentDescriptionFlags( bits ) );
22911  }
22912 
22914  {
22915  enum
22916  {
22918  };
22919  };
22920 
22922  {
22924  : flags( flags_ )
22925  , format( format_ )
22926  , samples( samples_ )
22927  , loadOp( loadOp_ )
22928  , storeOp( storeOp_ )
22929  , stencilLoadOp( stencilLoadOp_ )
22930  , stencilStoreOp( stencilStoreOp_ )
22931  , initialLayout( initialLayout_ )
22932  , finalLayout( finalLayout_ )
22933  {
22934  }
22935 
22937  {
22938  memcpy( this, &rhs, sizeof( AttachmentDescription ) );
22939  }
22940 
22942  {
22943  memcpy( this, &rhs, sizeof( AttachmentDescription ) );
22944  return *this;
22945  }
22947  {
22948  flags = flags_;
22949  return *this;
22950  }
22951 
22953  {
22954  format = format_;
22955  return *this;
22956  }
22957 
22959  {
22960  samples = samples_;
22961  return *this;
22962  }
22963 
22965  {
22966  loadOp = loadOp_;
22967  return *this;
22968  }
22969 
22971  {
22972  storeOp = storeOp_;
22973  return *this;
22974  }
22975 
22977  {
22978  stencilLoadOp = stencilLoadOp_;
22979  return *this;
22980  }
22981 
22983  {
22984  stencilStoreOp = stencilStoreOp_;
22985  return *this;
22986  }
22987 
22989  {
22990  initialLayout = initialLayout_;
22991  return *this;
22992  }
22993 
22995  {
22996  finalLayout = finalLayout_;
22997  return *this;
22998  }
22999 
23000  operator const VkAttachmentDescription&() const
23001  {
23002  return *reinterpret_cast<const VkAttachmentDescription*>(this);
23003  }
23004 
23005  bool operator==( AttachmentDescription const& rhs ) const
23006  {
23007  return ( flags == rhs.flags )
23008  && ( format == rhs.format )
23009  && ( samples == rhs.samples )
23010  && ( loadOp == rhs.loadOp )
23011  && ( storeOp == rhs.storeOp )
23012  && ( stencilLoadOp == rhs.stencilLoadOp )
23013  && ( stencilStoreOp == rhs.stencilStoreOp )
23014  && ( initialLayout == rhs.initialLayout )
23015  && ( finalLayout == rhs.finalLayout );
23016  }
23017 
23018  bool operator!=( AttachmentDescription const& rhs ) const
23019  {
23020  return !operator==( rhs );
23021  }
23022 
23032  };
23033  static_assert( sizeof( AttachmentDescription ) == sizeof( VkAttachmentDescription ), "struct and wrapper have different size!" );
23034 
23036  {
23040  };
23041 
23043 
23045  {
23046  return StencilFaceFlags( bit0 ) | bit1;
23047  }
23048 
23050  {
23051  return ~( StencilFaceFlags( bits ) );
23052  }
23053 
23054  template <> struct FlagTraits<StencilFaceFlagBits>
23055  {
23056  enum
23057  {
23059  };
23060  };
23061 
23063  {
23066  };
23067 
23069 
23071  {
23072  return DescriptorPoolCreateFlags( bit0 ) | bit1;
23073  }
23074 
23076  {
23077  return ~( DescriptorPoolCreateFlags( bits ) );
23078  }
23079 
23081  {
23082  enum
23083  {
23085  };
23086  };
23087 
23089  {
23090  DescriptorPoolCreateInfo( DescriptorPoolCreateFlags flags_ = DescriptorPoolCreateFlags(), uint32_t maxSets_ = 0, uint32_t poolSizeCount_ = 0, const DescriptorPoolSize* pPoolSizes_ = nullptr )
23091  : flags( flags_ )
23092  , maxSets( maxSets_ )
23093  , poolSizeCount( poolSizeCount_ )
23094  , pPoolSizes( pPoolSizes_ )
23095  {
23096  }
23097 
23099  {
23100  memcpy( this, &rhs, sizeof( DescriptorPoolCreateInfo ) );
23101  }
23102 
23104  {
23105  memcpy( this, &rhs, sizeof( DescriptorPoolCreateInfo ) );
23106  return *this;
23107  }
23108  DescriptorPoolCreateInfo& setPNext( const void* pNext_ )
23109  {
23110  pNext = pNext_;
23111  return *this;
23112  }
23113 
23115  {
23116  flags = flags_;
23117  return *this;
23118  }
23119 
23121  {
23122  maxSets = maxSets_;
23123  return *this;
23124  }
23125 
23127  {
23128  poolSizeCount = poolSizeCount_;
23129  return *this;
23130  }
23131 
23133  {
23134  pPoolSizes = pPoolSizes_;
23135  return *this;
23136  }
23137 
23138  operator const VkDescriptorPoolCreateInfo&() const
23139  {
23140  return *reinterpret_cast<const VkDescriptorPoolCreateInfo*>(this);
23141  }
23142 
23143  bool operator==( DescriptorPoolCreateInfo const& rhs ) const
23144  {
23145  return ( sType == rhs.sType )
23146  && ( pNext == rhs.pNext )
23147  && ( flags == rhs.flags )
23148  && ( maxSets == rhs.maxSets )
23149  && ( poolSizeCount == rhs.poolSizeCount )
23150  && ( pPoolSizes == rhs.pPoolSizes );
23151  }
23152 
23153  bool operator!=( DescriptorPoolCreateInfo const& rhs ) const
23154  {
23155  return !operator==( rhs );
23156  }
23157 
23158  private:
23160 
23161  public:
23162  const void* pNext = nullptr;
23167  };
23168  static_assert( sizeof( DescriptorPoolCreateInfo ) == sizeof( VkDescriptorPoolCreateInfo ), "struct and wrapper have different size!" );
23169 
23171  {
23177  };
23178 
23180 
23182  {
23183  return DependencyFlags( bit0 ) | bit1;
23184  }
23185 
23187  {
23188  return ~( DependencyFlags( bits ) );
23189  }
23190 
23191  template <> struct FlagTraits<DependencyFlagBits>
23192  {
23193  enum
23194  {
23196  };
23197  };
23198 
23200  {
23201  SubpassDependency( uint32_t srcSubpass_ = 0, uint32_t dstSubpass_ = 0, PipelineStageFlags srcStageMask_ = PipelineStageFlags(), PipelineStageFlags dstStageMask_ = PipelineStageFlags(), AccessFlags srcAccessMask_ = AccessFlags(), AccessFlags dstAccessMask_ = AccessFlags(), DependencyFlags dependencyFlags_ = DependencyFlags() )
23202  : srcSubpass( srcSubpass_ )
23203  , dstSubpass( dstSubpass_ )
23204  , srcStageMask( srcStageMask_ )
23205  , dstStageMask( dstStageMask_ )
23206  , srcAccessMask( srcAccessMask_ )
23207  , dstAccessMask( dstAccessMask_ )
23208  , dependencyFlags( dependencyFlags_ )
23209  {
23210  }
23211 
23213  {
23214  memcpy( this, &rhs, sizeof( SubpassDependency ) );
23215  }
23216 
23218  {
23219  memcpy( this, &rhs, sizeof( SubpassDependency ) );
23220  return *this;
23221  }
23223  {
23224  srcSubpass = srcSubpass_;
23225  return *this;
23226  }
23227 
23229  {
23230  dstSubpass = dstSubpass_;
23231  return *this;
23232  }
23233 
23235  {
23236  srcStageMask = srcStageMask_;
23237  return *this;
23238  }
23239 
23241  {
23242  dstStageMask = dstStageMask_;
23243  return *this;
23244  }
23245 
23247  {
23248  srcAccessMask = srcAccessMask_;
23249  return *this;
23250  }
23251 
23253  {
23254  dstAccessMask = dstAccessMask_;
23255  return *this;
23256  }
23257 
23259  {
23260  dependencyFlags = dependencyFlags_;
23261  return *this;
23262  }
23263 
23264  operator const VkSubpassDependency&() const
23265  {
23266  return *reinterpret_cast<const VkSubpassDependency*>(this);
23267  }
23268 
23269  bool operator==( SubpassDependency const& rhs ) const
23270  {
23271  return ( srcSubpass == rhs.srcSubpass )
23272  && ( dstSubpass == rhs.dstSubpass )
23273  && ( srcStageMask == rhs.srcStageMask )
23274  && ( dstStageMask == rhs.dstStageMask )
23275  && ( srcAccessMask == rhs.srcAccessMask )
23276  && ( dstAccessMask == rhs.dstAccessMask )
23277  && ( dependencyFlags == rhs.dependencyFlags );
23278  }
23279 
23280  bool operator!=( SubpassDependency const& rhs ) const
23281  {
23282  return !operator==( rhs );
23283  }
23284 
23292  };
23293  static_assert( sizeof( SubpassDependency ) == sizeof( VkSubpassDependency ), "struct and wrapper have different size!" );
23294 
23295  enum class PresentModeKHR
23296  {
23303  };
23304 
23305  enum class ColorSpaceKHR
23306  {
23322  };
23323 
23325  {
23326  operator const VkSurfaceFormatKHR&() const
23327  {
23328  return *reinterpret_cast<const VkSurfaceFormatKHR*>(this);
23329  }
23330 
23331  bool operator==( SurfaceFormatKHR const& rhs ) const
23332  {
23333  return ( format == rhs.format )
23334  && ( colorSpace == rhs.colorSpace );
23335  }
23336 
23337  bool operator!=( SurfaceFormatKHR const& rhs ) const
23338  {
23339  return !operator==( rhs );
23340  }
23341 
23344  };
23345  static_assert( sizeof( SurfaceFormatKHR ) == sizeof( VkSurfaceFormatKHR ), "struct and wrapper have different size!" );
23346 
23348  {
23349  operator const VkSurfaceFormat2KHR&() const
23350  {
23351  return *reinterpret_cast<const VkSurfaceFormat2KHR*>(this);
23352  }
23353 
23354  bool operator==( SurfaceFormat2KHR const& rhs ) const
23355  {
23356  return ( sType == rhs.sType )
23357  && ( pNext == rhs.pNext )
23358  && ( surfaceFormat == rhs.surfaceFormat );
23359  }
23360 
23361  bool operator!=( SurfaceFormat2KHR const& rhs ) const
23362  {
23363  return !operator==( rhs );
23364  }
23365 
23366  private:
23368 
23369  public:
23370  void* pNext = nullptr;
23372  };
23373  static_assert( sizeof( SurfaceFormat2KHR ) == sizeof( VkSurfaceFormat2KHR ), "struct and wrapper have different size!" );
23374 
23376  {
23381  };
23382 
23384 
23386  {
23387  return DisplayPlaneAlphaFlagsKHR( bit0 ) | bit1;
23388  }
23389 
23391  {
23392  return ~( DisplayPlaneAlphaFlagsKHR( bits ) );
23393  }
23394 
23396  {
23397  enum
23398  {
23400  };
23401  };
23402 
23404  {
23405  operator const VkDisplayPlaneCapabilitiesKHR&() const
23406  {
23407  return *reinterpret_cast<const VkDisplayPlaneCapabilitiesKHR*>(this);
23408  }
23409 
23410  bool operator==( DisplayPlaneCapabilitiesKHR const& rhs ) const
23411  {
23412  return ( supportedAlpha == rhs.supportedAlpha )
23413  && ( minSrcPosition == rhs.minSrcPosition )
23414  && ( maxSrcPosition == rhs.maxSrcPosition )
23415  && ( minSrcExtent == rhs.minSrcExtent )
23416  && ( maxSrcExtent == rhs.maxSrcExtent )
23417  && ( minDstPosition == rhs.minDstPosition )
23418  && ( maxDstPosition == rhs.maxDstPosition )
23419  && ( minDstExtent == rhs.minDstExtent )
23420  && ( maxDstExtent == rhs.maxDstExtent );
23421  }
23422 
23423  bool operator!=( DisplayPlaneCapabilitiesKHR const& rhs ) const
23424  {
23425  return !operator==( rhs );
23426  }
23427 
23437  };
23438  static_assert( sizeof( DisplayPlaneCapabilitiesKHR ) == sizeof( VkDisplayPlaneCapabilitiesKHR ), "struct and wrapper have different size!" );
23439 
23441  {
23446  };
23447 
23449 
23451  {
23452  return CompositeAlphaFlagsKHR( bit0 ) | bit1;
23453  }
23454 
23456  {
23457  return ~( CompositeAlphaFlagsKHR( bits ) );
23458  }
23459 
23461  {
23462  enum
23463  {
23465  };
23466  };
23467 
23469  {
23479  };
23480 
23482 
23484  {
23485  return SurfaceTransformFlagsKHR( bit0 ) | bit1;
23486  }
23487 
23489  {
23490  return ~( SurfaceTransformFlagsKHR( bits ) );
23491  }
23492 
23494  {
23495  enum
23496  {
23498  };
23499  };
23500 
23502  {
23503  operator const VkDisplayPropertiesKHR&() const
23504  {
23505  return *reinterpret_cast<const VkDisplayPropertiesKHR*>(this);
23506  }
23507 
23508  bool operator==( DisplayPropertiesKHR const& rhs ) const
23509  {
23510  return ( display == rhs.display )
23511  && ( displayName == rhs.displayName )
23516  && ( persistentContent == rhs.persistentContent );
23517  }
23518 
23519  bool operator!=( DisplayPropertiesKHR const& rhs ) const
23520  {
23521  return !operator==( rhs );
23522  }
23523 
23525  const char* displayName;
23531  };
23532  static_assert( sizeof( DisplayPropertiesKHR ) == sizeof( VkDisplayPropertiesKHR ), "struct and wrapper have different size!" );
23533 
23535  {
23537  : flags( flags_ )
23538  , displayMode( displayMode_ )
23539  , planeIndex( planeIndex_ )
23540  , planeStackIndex( planeStackIndex_ )
23541  , transform( transform_ )
23542  , globalAlpha( globalAlpha_ )
23543  , alphaMode( alphaMode_ )
23544  , imageExtent( imageExtent_ )
23545  {
23546  }
23547 
23549  {
23550  memcpy( this, &rhs, sizeof( DisplaySurfaceCreateInfoKHR ) );
23551  }
23552 
23554  {
23555  memcpy( this, &rhs, sizeof( DisplaySurfaceCreateInfoKHR ) );
23556  return *this;
23557  }
23558  DisplaySurfaceCreateInfoKHR& setPNext( const void* pNext_ )
23559  {
23560  pNext = pNext_;
23561  return *this;
23562  }
23563 
23565  {
23566  flags = flags_;
23567  return *this;
23568  }
23569 
23571  {
23572  displayMode = displayMode_;
23573  return *this;
23574  }
23575 
23577  {
23578  planeIndex = planeIndex_;
23579  return *this;
23580  }
23581 
23583  {
23584  planeStackIndex = planeStackIndex_;
23585  return *this;
23586  }
23587 
23589  {
23590  transform = transform_;
23591  return *this;
23592  }
23593 
23595  {
23596  globalAlpha = globalAlpha_;
23597  return *this;
23598  }
23599 
23601  {
23602  alphaMode = alphaMode_;
23603  return *this;
23604  }
23605 
23607  {
23608  imageExtent = imageExtent_;
23609  return *this;
23610  }
23611 
23612  operator const VkDisplaySurfaceCreateInfoKHR&() const
23613  {
23614  return *reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR*>(this);
23615  }
23616 
23617  bool operator==( DisplaySurfaceCreateInfoKHR const& rhs ) const
23618  {
23619  return ( sType == rhs.sType )
23620  && ( pNext == rhs.pNext )
23621  && ( flags == rhs.flags )
23622  && ( displayMode == rhs.displayMode )
23623  && ( planeIndex == rhs.planeIndex )
23624  && ( planeStackIndex == rhs.planeStackIndex )
23625  && ( transform == rhs.transform )
23626  && ( globalAlpha == rhs.globalAlpha )
23627  && ( alphaMode == rhs.alphaMode )
23628  && ( imageExtent == rhs.imageExtent );
23629  }
23630 
23631  bool operator!=( DisplaySurfaceCreateInfoKHR const& rhs ) const
23632  {
23633  return !operator==( rhs );
23634  }
23635 
23636  private:
23638 
23639  public:
23640  const void* pNext = nullptr;
23649  };
23650  static_assert( sizeof( DisplaySurfaceCreateInfoKHR ) == sizeof( VkDisplaySurfaceCreateInfoKHR ), "struct and wrapper have different size!" );
23651 
23653  {
23654  operator const VkSurfaceCapabilitiesKHR&() const
23655  {
23656  return *reinterpret_cast<const VkSurfaceCapabilitiesKHR*>(this);
23657  }
23658 
23659  bool operator==( SurfaceCapabilitiesKHR const& rhs ) const
23660  {
23661  return ( minImageCount == rhs.minImageCount )
23662  && ( maxImageCount == rhs.maxImageCount )
23663  && ( currentExtent == rhs.currentExtent )
23664  && ( minImageExtent == rhs.minImageExtent )
23665  && ( maxImageExtent == rhs.maxImageExtent )
23668  && ( currentTransform == rhs.currentTransform )
23671  }
23672 
23673  bool operator!=( SurfaceCapabilitiesKHR const& rhs ) const
23674  {
23675  return !operator==( rhs );
23676  }
23677 
23688  };
23689  static_assert( sizeof( SurfaceCapabilitiesKHR ) == sizeof( VkSurfaceCapabilitiesKHR ), "struct and wrapper have different size!" );
23690 
23692  {
23693  operator const VkSurfaceCapabilities2KHR&() const
23694  {
23695  return *reinterpret_cast<const VkSurfaceCapabilities2KHR*>(this);
23696  }
23697 
23698  bool operator==( SurfaceCapabilities2KHR const& rhs ) const
23699  {
23700  return ( sType == rhs.sType )
23701  && ( pNext == rhs.pNext )
23703  }
23704 
23705  bool operator!=( SurfaceCapabilities2KHR const& rhs ) const
23706  {
23707  return !operator==( rhs );
23708  }
23709 
23710  private:
23712 
23713  public:
23714  void* pNext = nullptr;
23716  };
23717  static_assert( sizeof( SurfaceCapabilities2KHR ) == sizeof( VkSurfaceCapabilities2KHR ), "struct and wrapper have different size!" );
23718 
23720  {
23726  };
23727 
23729 
23731  {
23732  return DebugReportFlagsEXT( bit0 ) | bit1;
23733  }
23734 
23736  {
23737  return ~( DebugReportFlagsEXT( bits ) );
23738  }
23739 
23741  {
23742  enum
23743  {
23745  };
23746  };
23747 
23749  {
23750  DebugReportCallbackCreateInfoEXT( DebugReportFlagsEXT flags_ = DebugReportFlagsEXT(), PFN_vkDebugReportCallbackEXT pfnCallback_ = nullptr, void* pUserData_ = nullptr )
23751  : flags( flags_ )
23752  , pfnCallback( pfnCallback_ )
23753  , pUserData( pUserData_ )
23754  {
23755  }
23756 
23758  {
23759  memcpy( this, &rhs, sizeof( DebugReportCallbackCreateInfoEXT ) );
23760  }
23761 
23763  {
23764  memcpy( this, &rhs, sizeof( DebugReportCallbackCreateInfoEXT ) );
23765  return *this;
23766  }
23768  {
23769  pNext = pNext_;
23770  return *this;
23771  }
23772 
23774  {
23775  flags = flags_;
23776  return *this;
23777  }
23778 
23780  {
23781  pfnCallback = pfnCallback_;
23782  return *this;
23783  }
23784 
23786  {
23787  pUserData = pUserData_;
23788  return *this;
23789  }
23790 
23791  operator const VkDebugReportCallbackCreateInfoEXT&() const
23792  {
23793  return *reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(this);
23794  }
23795 
23797  {
23798  return ( sType == rhs.sType )
23799  && ( pNext == rhs.pNext )
23800  && ( flags == rhs.flags )
23801  && ( pfnCallback == rhs.pfnCallback )
23802  && ( pUserData == rhs.pUserData );
23803  }
23804 
23806  {
23807  return !operator==( rhs );
23808  }
23809 
23810  private:
23812 
23813  public:
23814  const void* pNext = nullptr;
23817  void* pUserData;
23818  };
23819  static_assert( sizeof( DebugReportCallbackCreateInfoEXT ) == sizeof( VkDebugReportCallbackCreateInfoEXT ), "struct and wrapper have different size!" );
23820 
23822  {
23861  };
23862 
23864  {
23865  DebugMarkerObjectNameInfoEXT( DebugReportObjectTypeEXT objectType_ = DebugReportObjectTypeEXT::eUnknown, uint64_t object_ = 0, const char* pObjectName_ = nullptr )
23866  : objectType( objectType_ )
23867  , object( object_ )
23868  , pObjectName( pObjectName_ )
23869  {
23870  }
23871 
23873  {
23874  memcpy( this, &rhs, sizeof( DebugMarkerObjectNameInfoEXT ) );
23875  }
23876 
23878  {
23879  memcpy( this, &rhs, sizeof( DebugMarkerObjectNameInfoEXT ) );
23880  return *this;
23881  }
23883  {
23884  pNext = pNext_;
23885  return *this;
23886  }
23887 
23889  {
23890  objectType = objectType_;
23891  return *this;
23892  }
23893 
23895  {
23896  object = object_;
23897  return *this;
23898  }
23899 
23900  DebugMarkerObjectNameInfoEXT& setPObjectName( const char* pObjectName_ )
23901  {
23902  pObjectName = pObjectName_;
23903  return *this;
23904  }
23905 
23906  operator const VkDebugMarkerObjectNameInfoEXT&() const
23907  {
23908  return *reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT*>(this);
23909  }
23910 
23911  bool operator==( DebugMarkerObjectNameInfoEXT const& rhs ) const
23912  {
23913  return ( sType == rhs.sType )
23914  && ( pNext == rhs.pNext )
23915  && ( objectType == rhs.objectType )
23916  && ( object == rhs.object )
23917  && ( pObjectName == rhs.pObjectName );
23918  }
23919 
23920  bool operator!=( DebugMarkerObjectNameInfoEXT const& rhs ) const
23921  {
23922  return !operator==( rhs );
23923  }
23924 
23925  private:
23927 
23928  public:
23929  const void* pNext = nullptr;
23932  const char* pObjectName;
23933  };
23934  static_assert( sizeof( DebugMarkerObjectNameInfoEXT ) == sizeof( VkDebugMarkerObjectNameInfoEXT ), "struct and wrapper have different size!" );
23935 
23937  {
23938  DebugMarkerObjectTagInfoEXT( DebugReportObjectTypeEXT objectType_ = DebugReportObjectTypeEXT::eUnknown, uint64_t object_ = 0, uint64_t tagName_ = 0, size_t tagSize_ = 0, const void* pTag_ = nullptr )
23939  : objectType( objectType_ )
23940  , object( object_ )
23941  , tagName( tagName_ )
23942  , tagSize( tagSize_ )
23943  , pTag( pTag_ )
23944  {
23945  }
23946 
23948  {
23949  memcpy( this, &rhs, sizeof( DebugMarkerObjectTagInfoEXT ) );
23950  }
23951 
23953  {
23954  memcpy( this, &rhs, sizeof( DebugMarkerObjectTagInfoEXT ) );
23955  return *this;
23956  }
23957  DebugMarkerObjectTagInfoEXT& setPNext( const void* pNext_ )
23958  {
23959  pNext = pNext_;
23960  return *this;
23961  }
23962 
23964  {
23965  objectType = objectType_;
23966  return *this;
23967  }
23968 
23970  {
23971  object = object_;
23972  return *this;
23973  }
23974 
23976  {
23977  tagName = tagName_;
23978  return *this;
23979  }
23980 
23982  {
23983  tagSize = tagSize_;
23984  return *this;
23985  }
23986 
23987  DebugMarkerObjectTagInfoEXT& setPTag( const void* pTag_ )
23988  {
23989  pTag = pTag_;
23990  return *this;
23991  }
23992 
23993  operator const VkDebugMarkerObjectTagInfoEXT&() const
23994  {
23995  return *reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT*>(this);
23996  }
23997 
23998  bool operator==( DebugMarkerObjectTagInfoEXT const& rhs ) const
23999  {
24000  return ( sType == rhs.sType )
24001  && ( pNext == rhs.pNext )
24002  && ( objectType == rhs.objectType )
24003  && ( object == rhs.object )
24004  && ( tagName == rhs.tagName )
24005  && ( tagSize == rhs.tagSize )
24006  && ( pTag == rhs.pTag );
24007  }
24008 
24009  bool operator!=( DebugMarkerObjectTagInfoEXT const& rhs ) const
24010  {
24011  return !operator==( rhs );
24012  }
24013 
24014  private:
24016 
24017  public:
24018  const void* pNext = nullptr;
24022  size_t tagSize;
24023  const void* pTag;
24024  };
24025  static_assert( sizeof( DebugMarkerObjectTagInfoEXT ) == sizeof( VkDebugMarkerObjectTagInfoEXT ), "struct and wrapper have different size!" );
24026 
24028  {
24031  };
24032 
24034  {
24036  : rasterizationOrder( rasterizationOrder_ )
24037  {
24038  }
24039 
24041  {
24043  }
24044 
24046  {
24048  return *this;
24049  }
24051  {
24052  pNext = pNext_;
24053  return *this;
24054  }
24055 
24057  {
24058  rasterizationOrder = rasterizationOrder_;
24059  return *this;
24060  }
24061 
24063  {
24064  return *reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(this);
24065  }
24066 
24068  {
24069  return ( sType == rhs.sType )
24070  && ( pNext == rhs.pNext )
24071  && ( rasterizationOrder == rhs.rasterizationOrder );
24072  }
24073 
24075  {
24076  return !operator==( rhs );
24077  }
24078 
24079  private:
24081 
24082  public:
24083  const void* pNext = nullptr;
24085  };
24086  static_assert( sizeof( PipelineRasterizationStateRasterizationOrderAMD ) == sizeof( VkPipelineRasterizationStateRasterizationOrderAMD ), "struct and wrapper have different size!" );
24087 
24089  {
24094  };
24095 
24097 
24099  {
24100  return ExternalMemoryHandleTypeFlagsNV( bit0 ) | bit1;
24101  }
24102 
24104  {
24105  return ~( ExternalMemoryHandleTypeFlagsNV( bits ) );
24106  }
24107 
24109  {
24110  enum
24111  {
24113  };
24114  };
24115 
24117  {
24119  : handleTypes( handleTypes_ )
24120  {
24121  }
24122 
24124  {
24125  memcpy( this, &rhs, sizeof( ExternalMemoryImageCreateInfoNV ) );
24126  }
24127 
24129  {
24130  memcpy( this, &rhs, sizeof( ExternalMemoryImageCreateInfoNV ) );
24131  return *this;
24132  }
24134  {
24135  pNext = pNext_;
24136  return *this;
24137  }
24138 
24140  {
24141  handleTypes = handleTypes_;
24142  return *this;
24143  }
24144 
24145  operator const VkExternalMemoryImageCreateInfoNV&() const
24146  {
24147  return *reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(this);
24148  }
24149 
24151  {
24152  return ( sType == rhs.sType )
24153  && ( pNext == rhs.pNext )
24154  && ( handleTypes == rhs.handleTypes );
24155  }
24156 
24158  {
24159  return !operator==( rhs );
24160  }
24161 
24162  private:
24164 
24165  public:
24166  const void* pNext = nullptr;
24168  };
24169  static_assert( sizeof( ExternalMemoryImageCreateInfoNV ) == sizeof( VkExternalMemoryImageCreateInfoNV ), "struct and wrapper have different size!" );
24170 
24172  {
24174  : handleTypes( handleTypes_ )
24175  {
24176  }
24177 
24179  {
24180  memcpy( this, &rhs, sizeof( ExportMemoryAllocateInfoNV ) );
24181  }
24182 
24184  {
24185  memcpy( this, &rhs, sizeof( ExportMemoryAllocateInfoNV ) );
24186  return *this;
24187  }
24188  ExportMemoryAllocateInfoNV& setPNext( const void* pNext_ )
24189  {
24190  pNext = pNext_;
24191  return *this;
24192  }
24193 
24195  {
24196  handleTypes = handleTypes_;
24197  return *this;
24198  }
24199 
24200  operator const VkExportMemoryAllocateInfoNV&() const
24201  {
24202  return *reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(this);
24203  }
24204 
24205  bool operator==( ExportMemoryAllocateInfoNV const& rhs ) const
24206  {
24207  return ( sType == rhs.sType )
24208  && ( pNext == rhs.pNext )
24209  && ( handleTypes == rhs.handleTypes );
24210  }
24211 
24212  bool operator!=( ExportMemoryAllocateInfoNV const& rhs ) const
24213  {
24214  return !operator==( rhs );
24215  }
24216 
24217  private:
24219 
24220  public:
24221  const void* pNext = nullptr;
24223  };
24224  static_assert( sizeof( ExportMemoryAllocateInfoNV ) == sizeof( VkExportMemoryAllocateInfoNV ), "struct and wrapper have different size!" );
24225 
24226 #ifdef VK_USE_PLATFORM_WIN32_NV
24227  struct ImportMemoryWin32HandleInfoNV
24228  {
24229  ImportMemoryWin32HandleInfoNV( ExternalMemoryHandleTypeFlagsNV handleType_ = ExternalMemoryHandleTypeFlagsNV(), HANDLE handle_ = 0 )
24230  : handleType( handleType_ )
24231  , handle( handle_ )
24232  {
24233  }
24234 
24235  ImportMemoryWin32HandleInfoNV( VkImportMemoryWin32HandleInfoNV const & rhs )
24236  {
24237  memcpy( this, &rhs, sizeof( ImportMemoryWin32HandleInfoNV ) );
24238  }
24239 
24240  ImportMemoryWin32HandleInfoNV& operator=( VkImportMemoryWin32HandleInfoNV const & rhs )
24241  {
24242  memcpy( this, &rhs, sizeof( ImportMemoryWin32HandleInfoNV ) );
24243  return *this;
24244  }
24245  ImportMemoryWin32HandleInfoNV& setPNext( const void* pNext_ )
24246  {
24247  pNext = pNext_;
24248  return *this;
24249  }
24250 
24251  ImportMemoryWin32HandleInfoNV& setHandleType( ExternalMemoryHandleTypeFlagsNV handleType_ )
24252  {
24253  handleType = handleType_;
24254  return *this;
24255  }
24256 
24257  ImportMemoryWin32HandleInfoNV& setHandle( HANDLE handle_ )
24258  {
24259  handle = handle_;
24260  return *this;
24261  }
24262 
24263  operator const VkImportMemoryWin32HandleInfoNV&() const
24264  {
24265  return *reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(this);
24266  }
24267 
24268  bool operator==( ImportMemoryWin32HandleInfoNV const& rhs ) const
24269  {
24270  return ( sType == rhs.sType )
24271  && ( pNext == rhs.pNext )
24272  && ( handleType == rhs.handleType )
24273  && ( handle == rhs.handle );
24274  }
24275 
24276  bool operator!=( ImportMemoryWin32HandleInfoNV const& rhs ) const
24277  {
24278  return !operator==( rhs );
24279  }
24280 
24281  private:
24283 
24284  public:
24285  const void* pNext = nullptr;
24287  HANDLE handle;
24288  };
24289  static_assert( sizeof( ImportMemoryWin32HandleInfoNV ) == sizeof( VkImportMemoryWin32HandleInfoNV ), "struct and wrapper have different size!" );
24290 #endif /*VK_USE_PLATFORM_WIN32_NV*/
24291 
24293  {
24297  };
24298 
24300 
24302  {
24303  return ExternalMemoryFeatureFlagsNV( bit0 ) | bit1;
24304  }
24305 
24307  {
24308  return ~( ExternalMemoryFeatureFlagsNV( bits ) );
24309  }
24310 
24312  {
24313  enum
24314  {
24316  };
24317  };
24318 
24320  {
24321  operator const VkExternalImageFormatPropertiesNV&() const
24322  {
24323  return *reinterpret_cast<const VkExternalImageFormatPropertiesNV*>(this);
24324  }
24325 
24327  {
24332  }
24333 
24335  {
24336  return !operator==( rhs );
24337  }
24338 
24343  };
24344  static_assert( sizeof( ExternalImageFormatPropertiesNV ) == sizeof( VkExternalImageFormatPropertiesNV ), "struct and wrapper have different size!" );
24345 
24347  {
24350  };
24351 
24353  {
24354  ValidationFlagsEXT( uint32_t disabledValidationCheckCount_ = 0, ValidationCheckEXT* pDisabledValidationChecks_ = nullptr )
24355  : disabledValidationCheckCount( disabledValidationCheckCount_ )
24356  , pDisabledValidationChecks( pDisabledValidationChecks_ )
24357  {
24358  }
24359 
24361  {
24362  memcpy( this, &rhs, sizeof( ValidationFlagsEXT ) );
24363  }
24364 
24366  {
24367  memcpy( this, &rhs, sizeof( ValidationFlagsEXT ) );
24368  return *this;
24369  }
24370  ValidationFlagsEXT& setPNext( const void* pNext_ )
24371  {
24372  pNext = pNext_;
24373  return *this;
24374  }
24375 
24377  {
24378  disabledValidationCheckCount = disabledValidationCheckCount_;
24379  return *this;
24380  }
24381 
24383  {
24384  pDisabledValidationChecks = pDisabledValidationChecks_;
24385  return *this;
24386  }
24387 
24388  operator const VkValidationFlagsEXT&() const
24389  {
24390  return *reinterpret_cast<const VkValidationFlagsEXT*>(this);
24391  }
24392 
24393  bool operator==( ValidationFlagsEXT const& rhs ) const
24394  {
24395  return ( sType == rhs.sType )
24396  && ( pNext == rhs.pNext )
24399  }
24400 
24401  bool operator!=( ValidationFlagsEXT const& rhs ) const
24402  {
24403  return !operator==( rhs );
24404  }
24405 
24406  private:
24408 
24409  public:
24410  const void* pNext = nullptr;
24413  };
24414  static_assert( sizeof( ValidationFlagsEXT ) == sizeof( VkValidationFlagsEXT ), "struct and wrapper have different size!" );
24415 
24417  {
24427  };
24428 
24430 
24432  {
24433  return SubgroupFeatureFlags( bit0 ) | bit1;
24434  }
24435 
24437  {
24438  return ~( SubgroupFeatureFlags( bits ) );
24439  }
24440 
24442  {
24443  enum
24444  {
24446  };
24447  };
24448 
24450  {
24451  operator const VkPhysicalDeviceSubgroupProperties&() const
24452  {
24453  return *reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(this);
24454  }
24455 
24457  {
24458  return ( sType == rhs.sType )
24459  && ( pNext == rhs.pNext )
24460  && ( subgroupSize == rhs.subgroupSize )
24461  && ( supportedStages == rhs.supportedStages )
24464  }
24465 
24467  {
24468  return !operator==( rhs );
24469  }
24470 
24471  private:
24473 
24474  public:
24475  void* pNext = nullptr;
24480  };
24481  static_assert( sizeof( PhysicalDeviceSubgroupProperties ) == sizeof( VkPhysicalDeviceSubgroupProperties ), "struct and wrapper have different size!" );
24482 
24484  {
24489  };
24490 
24492 
24494  {
24495  return IndirectCommandsLayoutUsageFlagsNVX( bit0 ) | bit1;
24496  }
24497 
24499  {
24501  }
24502 
24504  {
24505  enum
24506  {
24508  };
24509  };
24510 
24512  {
24515  };
24516 
24518 
24520  {
24521  return ObjectEntryUsageFlagsNVX( bit0 ) | bit1;
24522  }
24523 
24525  {
24526  return ~( ObjectEntryUsageFlagsNVX( bits ) );
24527  }
24528 
24530  {
24531  enum
24532  {
24534  };
24535  };
24536 
24538  {
24547  };
24548 
24550  {
24552  : tokenType( tokenType_ )
24553  , buffer( buffer_ )
24554  , offset( offset_ )
24555  {
24556  }
24557 
24559  {
24560  memcpy( this, &rhs, sizeof( IndirectCommandsTokenNVX ) );
24561  }
24562 
24564  {
24565  memcpy( this, &rhs, sizeof( IndirectCommandsTokenNVX ) );
24566  return *this;
24567  }
24569  {
24570  tokenType = tokenType_;
24571  return *this;
24572  }
24573 
24575  {
24576  buffer = buffer_;
24577  return *this;
24578  }
24579 
24581  {
24582  offset = offset_;
24583  return *this;
24584  }
24585 
24586  operator const VkIndirectCommandsTokenNVX&() const
24587  {
24588  return *reinterpret_cast<const VkIndirectCommandsTokenNVX*>(this);
24589  }
24590 
24591  bool operator==( IndirectCommandsTokenNVX const& rhs ) const
24592  {
24593  return ( tokenType == rhs.tokenType )
24594  && ( buffer == rhs.buffer )
24595  && ( offset == rhs.offset );
24596  }
24597 
24598  bool operator!=( IndirectCommandsTokenNVX const& rhs ) const
24599  {
24600  return !operator==( rhs );
24601  }
24602 
24606  };
24607  static_assert( sizeof( IndirectCommandsTokenNVX ) == sizeof( VkIndirectCommandsTokenNVX ), "struct and wrapper have different size!" );
24608 
24610  {
24612  : tokenType( tokenType_ )
24613  , bindingUnit( bindingUnit_ )
24614  , dynamicCount( dynamicCount_ )
24615  , divisor( divisor_ )
24616  {
24617  }
24618 
24620  {
24621  memcpy( this, &rhs, sizeof( IndirectCommandsLayoutTokenNVX ) );
24622  }
24623 
24625  {
24626  memcpy( this, &rhs, sizeof( IndirectCommandsLayoutTokenNVX ) );
24627  return *this;
24628  }
24630  {
24631  tokenType = tokenType_;
24632  return *this;
24633  }
24634 
24636  {
24637  bindingUnit = bindingUnit_;
24638  return *this;
24639  }
24640 
24642  {
24643  dynamicCount = dynamicCount_;
24644  return *this;
24645  }
24646 
24648  {
24649  divisor = divisor_;
24650  return *this;
24651  }
24652 
24653  operator const VkIndirectCommandsLayoutTokenNVX&() const
24654  {
24655  return *reinterpret_cast<const VkIndirectCommandsLayoutTokenNVX*>(this);
24656  }
24657 
24659  {
24660  return ( tokenType == rhs.tokenType )
24661  && ( bindingUnit == rhs.bindingUnit )
24662  && ( dynamicCount == rhs.dynamicCount )
24663  && ( divisor == rhs.divisor );
24664  }
24665 
24667  {
24668  return !operator==( rhs );
24669  }
24670 
24675  };
24676  static_assert( sizeof( IndirectCommandsLayoutTokenNVX ) == sizeof( VkIndirectCommandsLayoutTokenNVX ), "struct and wrapper have different size!" );
24677 
24679  {
24681  : pipelineBindPoint( pipelineBindPoint_ )
24682  , flags( flags_ )
24683  , tokenCount( tokenCount_ )
24684  , pTokens( pTokens_ )
24685  {
24686  }
24687 
24689  {
24690  memcpy( this, &rhs, sizeof( IndirectCommandsLayoutCreateInfoNVX ) );
24691  }
24692 
24694  {
24695  memcpy( this, &rhs, sizeof( IndirectCommandsLayoutCreateInfoNVX ) );
24696  return *this;
24697  }
24699  {
24700  pNext = pNext_;
24701  return *this;
24702  }
24703 
24705  {
24706  pipelineBindPoint = pipelineBindPoint_;
24707  return *this;
24708  }
24709 
24711  {
24712  flags = flags_;
24713  return *this;
24714  }
24715 
24717  {
24718  tokenCount = tokenCount_;
24719  return *this;
24720  }
24721 
24723  {
24724  pTokens = pTokens_;
24725  return *this;
24726  }
24727 
24729  {
24730  return *reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNVX*>(this);
24731  }
24732 
24734  {
24735  return ( sType == rhs.sType )
24736  && ( pNext == rhs.pNext )
24737  && ( pipelineBindPoint == rhs.pipelineBindPoint )
24738  && ( flags == rhs.flags )
24739  && ( tokenCount == rhs.tokenCount )
24740  && ( pTokens == rhs.pTokens );
24741  }
24742 
24744  {
24745  return !operator==( rhs );
24746  }
24747 
24748  private:
24750 
24751  public:
24752  const void* pNext = nullptr;
24757  };
24758  static_assert( sizeof( IndirectCommandsLayoutCreateInfoNVX ) == sizeof( VkIndirectCommandsLayoutCreateInfoNVX ), "struct and wrapper have different size!" );
24759 
24761  {
24767  };
24768 
24770  {
24771  ObjectTableCreateInfoNVX( uint32_t objectCount_ = 0, const ObjectEntryTypeNVX* pObjectEntryTypes_ = nullptr, const uint32_t* pObjectEntryCounts_ = nullptr, const ObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags_ = nullptr, uint32_t maxUniformBuffersPerDescriptor_ = 0, uint32_t maxStorageBuffersPerDescriptor_ = 0, uint32_t maxStorageImagesPerDescriptor_ = 0, uint32_t maxSampledImagesPerDescriptor_ = 0, uint32_t maxPipelineLayouts_ = 0 )
24772  : objectCount( objectCount_ )
24773  , pObjectEntryTypes( pObjectEntryTypes_ )
24774  , pObjectEntryCounts( pObjectEntryCounts_ )
24775  , pObjectEntryUsageFlags( pObjectEntryUsageFlags_ )
24776  , maxUniformBuffersPerDescriptor( maxUniformBuffersPerDescriptor_ )
24777  , maxStorageBuffersPerDescriptor( maxStorageBuffersPerDescriptor_ )
24778  , maxStorageImagesPerDescriptor( maxStorageImagesPerDescriptor_ )
24779  , maxSampledImagesPerDescriptor( maxSampledImagesPerDescriptor_ )
24780  , maxPipelineLayouts( maxPipelineLayouts_ )
24781  {
24782  }
24783 
24785  {
24786  memcpy( this, &rhs, sizeof( ObjectTableCreateInfoNVX ) );
24787  }
24788 
24790  {
24791  memcpy( this, &rhs, sizeof( ObjectTableCreateInfoNVX ) );
24792  return *this;
24793  }
24794  ObjectTableCreateInfoNVX& setPNext( const void* pNext_ )
24795  {
24796  pNext = pNext_;
24797  return *this;
24798  }
24799 
24801  {
24802  objectCount = objectCount_;
24803  return *this;
24804  }
24805 
24807  {
24808  pObjectEntryTypes = pObjectEntryTypes_;
24809  return *this;
24810  }
24811 
24813  {
24814  pObjectEntryCounts = pObjectEntryCounts_;
24815  return *this;
24816  }
24817 
24819  {
24820  pObjectEntryUsageFlags = pObjectEntryUsageFlags_;
24821  return *this;
24822  }
24823 
24825  {
24826  maxUniformBuffersPerDescriptor = maxUniformBuffersPerDescriptor_;
24827  return *this;
24828  }
24829 
24831  {
24832  maxStorageBuffersPerDescriptor = maxStorageBuffersPerDescriptor_;
24833  return *this;
24834  }
24835 
24837  {
24838  maxStorageImagesPerDescriptor = maxStorageImagesPerDescriptor_;
24839  return *this;
24840  }
24841 
24843  {
24844  maxSampledImagesPerDescriptor = maxSampledImagesPerDescriptor_;
24845  return *this;
24846  }
24847 
24849  {
24850  maxPipelineLayouts = maxPipelineLayouts_;
24851  return *this;
24852  }
24853 
24854  operator const VkObjectTableCreateInfoNVX&() const
24855  {
24856  return *reinterpret_cast<const VkObjectTableCreateInfoNVX*>(this);
24857  }
24858 
24859  bool operator==( ObjectTableCreateInfoNVX const& rhs ) const
24860  {
24861  return ( sType == rhs.sType )
24862  && ( pNext == rhs.pNext )
24863  && ( objectCount == rhs.objectCount )
24864  && ( pObjectEntryTypes == rhs.pObjectEntryTypes )
24871  && ( maxPipelineLayouts == rhs.maxPipelineLayouts );
24872  }
24873 
24874  bool operator!=( ObjectTableCreateInfoNVX const& rhs ) const
24875  {
24876  return !operator==( rhs );
24877  }
24878 
24879  private:
24881 
24882  public:
24883  const void* pNext = nullptr;
24893  };
24894  static_assert( sizeof( ObjectTableCreateInfoNVX ) == sizeof( VkObjectTableCreateInfoNVX ), "struct and wrapper have different size!" );
24895 
24897  {
24899  : type( type_ )
24900  , flags( flags_ )
24901  {
24902  }
24903 
24905  {
24906  memcpy( this, &rhs, sizeof( ObjectTableEntryNVX ) );
24907  }
24908 
24910  {
24911  memcpy( this, &rhs, sizeof( ObjectTableEntryNVX ) );
24912  return *this;
24913  }
24915  {
24916  type = type_;
24917  return *this;
24918  }
24919 
24921  {
24922  flags = flags_;
24923  return *this;
24924  }
24925 
24926  operator const VkObjectTableEntryNVX&() const
24927  {
24928  return *reinterpret_cast<const VkObjectTableEntryNVX*>(this);
24929  }
24930 
24931  bool operator==( ObjectTableEntryNVX const& rhs ) const
24932  {
24933  return ( type == rhs.type )
24934  && ( flags == rhs.flags );
24935  }
24936 
24937  bool operator!=( ObjectTableEntryNVX const& rhs ) const
24938  {
24939  return !operator==( rhs );
24940  }
24941 
24944  };
24945  static_assert( sizeof( ObjectTableEntryNVX ) == sizeof( VkObjectTableEntryNVX ), "struct and wrapper have different size!" );
24946 
24948  {
24950  : type( type_ )
24951  , flags( flags_ )
24952  , pipeline( pipeline_ )
24953  {
24954  }
24955 
24957  {
24958  memcpy( this, &rhs, sizeof( ObjectTablePipelineEntryNVX ) );
24959  }
24960 
24962  {
24963  memcpy( this, &rhs, sizeof( ObjectTablePipelineEntryNVX ) );
24964  return *this;
24965  }
24967  {
24968  type = type_;
24969  return *this;
24970  }
24971 
24973  {
24974  flags = flags_;
24975  return *this;
24976  }
24977 
24979  {
24980  pipeline = pipeline_;
24981  return *this;
24982  }
24983 
24984  operator const VkObjectTablePipelineEntryNVX&() const
24985  {
24986  return *reinterpret_cast<const VkObjectTablePipelineEntryNVX*>(this);
24987  }
24988 
24989  bool operator==( ObjectTablePipelineEntryNVX const& rhs ) const
24990  {
24991  return ( type == rhs.type )
24992  && ( flags == rhs.flags )
24993  && ( pipeline == rhs.pipeline );
24994  }
24995 
24996  bool operator!=( ObjectTablePipelineEntryNVX const& rhs ) const
24997  {
24998  return !operator==( rhs );
24999  }
25000 
25004  };
25005  static_assert( sizeof( ObjectTablePipelineEntryNVX ) == sizeof( VkObjectTablePipelineEntryNVX ), "struct and wrapper have different size!" );
25006 
25008  {
25010  : type( type_ )
25011  , flags( flags_ )
25012  , pipelineLayout( pipelineLayout_ )
25013  , descriptorSet( descriptorSet_ )
25014  {
25015  }
25016 
25018  {
25019  memcpy( this, &rhs, sizeof( ObjectTableDescriptorSetEntryNVX ) );
25020  }
25021 
25023  {
25024  memcpy( this, &rhs, sizeof( ObjectTableDescriptorSetEntryNVX ) );
25025  return *this;
25026  }
25028  {
25029  type = type_;
25030  return *this;
25031  }
25032 
25034  {
25035  flags = flags_;
25036  return *this;
25037  }
25038 
25040  {
25041  pipelineLayout = pipelineLayout_;
25042  return *this;
25043  }
25044 
25046  {
25047  descriptorSet = descriptorSet_;
25048  return *this;
25049  }
25050 
25051  operator const VkObjectTableDescriptorSetEntryNVX&() const
25052  {
25053  return *reinterpret_cast<const VkObjectTableDescriptorSetEntryNVX*>(this);
25054  }
25055 
25057  {
25058  return ( type == rhs.type )
25059  && ( flags == rhs.flags )
25060  && ( pipelineLayout == rhs.pipelineLayout )
25061  && ( descriptorSet == rhs.descriptorSet );
25062  }
25063 
25065  {
25066  return !operator==( rhs );
25067  }
25068 
25073  };
25074  static_assert( sizeof( ObjectTableDescriptorSetEntryNVX ) == sizeof( VkObjectTableDescriptorSetEntryNVX ), "struct and wrapper have different size!" );
25075 
25077  {
25079  : type( type_ )
25080  , flags( flags_ )
25081  , buffer( buffer_ )
25082  {
25083  }
25084 
25086  {
25087  memcpy( this, &rhs, sizeof( ObjectTableVertexBufferEntryNVX ) );
25088  }
25089 
25091  {
25092  memcpy( this, &rhs, sizeof( ObjectTableVertexBufferEntryNVX ) );
25093  return *this;
25094  }
25096  {
25097  type = type_;
25098  return *this;
25099  }
25100 
25102  {
25103  flags = flags_;
25104  return *this;
25105  }
25106 
25108  {
25109  buffer = buffer_;
25110  return *this;
25111  }
25112 
25113  operator const VkObjectTableVertexBufferEntryNVX&() const
25114  {
25115  return *reinterpret_cast<const VkObjectTableVertexBufferEntryNVX*>(this);
25116  }
25117 
25119  {
25120  return ( type == rhs.type )
25121  && ( flags == rhs.flags )
25122  && ( buffer == rhs.buffer );
25123  }
25124 
25126  {
25127  return !operator==( rhs );
25128  }
25129 
25133  };
25134  static_assert( sizeof( ObjectTableVertexBufferEntryNVX ) == sizeof( VkObjectTableVertexBufferEntryNVX ), "struct and wrapper have different size!" );
25135 
25137  {
25139  : type( type_ )
25140  , flags( flags_ )
25141  , buffer( buffer_ )
25142  , indexType( indexType_ )
25143  {
25144  }
25145 
25147  {
25148  memcpy( this, &rhs, sizeof( ObjectTableIndexBufferEntryNVX ) );
25149  }
25150 
25152  {
25153  memcpy( this, &rhs, sizeof( ObjectTableIndexBufferEntryNVX ) );
25154  return *this;
25155  }
25157  {
25158  type = type_;
25159  return *this;
25160  }
25161 
25163  {
25164  flags = flags_;
25165  return *this;
25166  }
25167 
25169  {
25170  buffer = buffer_;
25171  return *this;
25172  }
25173 
25175  {
25176  indexType = indexType_;
25177  return *this;
25178  }
25179 
25180  operator const VkObjectTableIndexBufferEntryNVX&() const
25181  {
25182  return *reinterpret_cast<const VkObjectTableIndexBufferEntryNVX*>(this);
25183  }
25184 
25186  {
25187  return ( type == rhs.type )
25188  && ( flags == rhs.flags )
25189  && ( buffer == rhs.buffer )
25190  && ( indexType == rhs.indexType );
25191  }
25192 
25194  {
25195  return !operator==( rhs );
25196  }
25197 
25202  };
25203  static_assert( sizeof( ObjectTableIndexBufferEntryNVX ) == sizeof( VkObjectTableIndexBufferEntryNVX ), "struct and wrapper have different size!" );
25204 
25206  {
25208  : type( type_ )
25209  , flags( flags_ )
25210  , pipelineLayout( pipelineLayout_ )
25211  , stageFlags( stageFlags_ )
25212  {
25213  }
25214 
25216  {
25217  memcpy( this, &rhs, sizeof( ObjectTablePushConstantEntryNVX ) );
25218  }
25219 
25221  {
25222  memcpy( this, &rhs, sizeof( ObjectTablePushConstantEntryNVX ) );
25223  return *this;
25224  }
25226  {
25227  type = type_;
25228  return *this;
25229  }
25230 
25232  {
25233  flags = flags_;
25234  return *this;
25235  }
25236 
25238  {
25239  pipelineLayout = pipelineLayout_;
25240  return *this;
25241  }
25242 
25244  {
25245  stageFlags = stageFlags_;
25246  return *this;
25247  }
25248 
25249  operator const VkObjectTablePushConstantEntryNVX&() const
25250  {
25251  return *reinterpret_cast<const VkObjectTablePushConstantEntryNVX*>(this);
25252  }
25253 
25255  {
25256  return ( type == rhs.type )
25257  && ( flags == rhs.flags )
25258  && ( pipelineLayout == rhs.pipelineLayout )
25259  && ( stageFlags == rhs.stageFlags );
25260  }
25261 
25263  {
25264  return !operator==( rhs );
25265  }
25266 
25271  };
25272  static_assert( sizeof( ObjectTablePushConstantEntryNVX ) == sizeof( VkObjectTablePushConstantEntryNVX ), "struct and wrapper have different size!" );
25273 
25275  {
25278  };
25279 
25281 
25283  {
25284  return DescriptorSetLayoutCreateFlags( bit0 ) | bit1;
25285  }
25286 
25288  {
25289  return ~( DescriptorSetLayoutCreateFlags( bits ) );
25290  }
25291 
25293  {
25294  enum
25295  {
25297  };
25298  };
25299 
25301  {
25303  : flags( flags_ )
25304  , bindingCount( bindingCount_ )
25305  , pBindings( pBindings_ )
25306  {
25307  }
25308 
25310  {
25311  memcpy( this, &rhs, sizeof( DescriptorSetLayoutCreateInfo ) );
25312  }
25313 
25315  {
25316  memcpy( this, &rhs, sizeof( DescriptorSetLayoutCreateInfo ) );
25317  return *this;
25318  }
25320  {
25321  pNext = pNext_;
25322  return *this;
25323  }
25324 
25326  {
25327  flags = flags_;
25328  return *this;
25329  }
25330 
25332  {
25333  bindingCount = bindingCount_;
25334  return *this;
25335  }
25336 
25338  {
25339  pBindings = pBindings_;
25340  return *this;
25341  }
25342 
25343  operator const VkDescriptorSetLayoutCreateInfo&() const
25344  {
25345  return *reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>(this);
25346  }
25347 
25349  {
25350  return ( sType == rhs.sType )
25351  && ( pNext == rhs.pNext )
25352  && ( flags == rhs.flags )
25353  && ( bindingCount == rhs.bindingCount )
25354  && ( pBindings == rhs.pBindings );
25355  }
25356 
25358  {
25359  return !operator==( rhs );
25360  }
25361 
25362  private:
25364 
25365  public:
25366  const void* pNext = nullptr;
25370  };
25371  static_assert( sizeof( DescriptorSetLayoutCreateInfo ) == sizeof( VkDescriptorSetLayoutCreateInfo ), "struct and wrapper have different size!" );
25372 
25374  {
25393  };
25394 
25396 
25398  {
25399  return ExternalMemoryHandleTypeFlags( bit0 ) | bit1;
25400  }
25401 
25403  {
25404  return ~( ExternalMemoryHandleTypeFlags( bits ) );
25405  }
25406 
25408  {
25409  enum
25410  {
25412  };
25413  };
25414 
25416 
25418  {
25420  : handleType( handleType_ )
25421  {
25422  }
25423 
25425  {
25426  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalImageFormatInfo ) );
25427  }
25428 
25430  {
25431  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalImageFormatInfo ) );
25432  return *this;
25433  }
25435  {
25436  pNext = pNext_;
25437  return *this;
25438  }
25439 
25441  {
25442  handleType = handleType_;
25443  return *this;
25444  }
25445 
25447  {
25448  return *reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(this);
25449  }
25450 
25452  {
25453  return ( sType == rhs.sType )
25454  && ( pNext == rhs.pNext )
25455  && ( handleType == rhs.handleType );
25456  }
25457 
25459  {
25460  return !operator==( rhs );
25461  }
25462 
25463  private:
25465 
25466  public:
25467  const void* pNext = nullptr;
25469  };
25470  static_assert( sizeof( PhysicalDeviceExternalImageFormatInfo ) == sizeof( VkPhysicalDeviceExternalImageFormatInfo ), "struct and wrapper have different size!" );
25471 
25473 
25475  {
25477  : flags( flags_ )
25478  , usage( usage_ )
25479  , handleType( handleType_ )
25480  {
25481  }
25482 
25484  {
25485  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalBufferInfo ) );
25486  }
25487 
25489  {
25490  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalBufferInfo ) );
25491  return *this;
25492  }
25494  {
25495  pNext = pNext_;
25496  return *this;
25497  }
25498 
25500  {
25501  flags = flags_;
25502  return *this;
25503  }
25504 
25506  {
25507  usage = usage_;
25508  return *this;
25509  }
25510 
25512  {
25513  handleType = handleType_;
25514  return *this;
25515  }
25516 
25517  operator const VkPhysicalDeviceExternalBufferInfo&() const
25518  {
25519  return *reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo*>(this);
25520  }
25521 
25523  {
25524  return ( sType == rhs.sType )
25525  && ( pNext == rhs.pNext )
25526  && ( flags == rhs.flags )
25527  && ( usage == rhs.usage )
25528  && ( handleType == rhs.handleType );
25529  }
25530 
25532  {
25533  return !operator==( rhs );
25534  }
25535 
25536  private:
25538 
25539  public:
25540  const void* pNext = nullptr;
25544  };
25545  static_assert( sizeof( PhysicalDeviceExternalBufferInfo ) == sizeof( VkPhysicalDeviceExternalBufferInfo ), "struct and wrapper have different size!" );
25546 
25548 
25550  {
25552  : handleTypes( handleTypes_ )
25553  {
25554  }
25555 
25557  {
25558  memcpy( this, &rhs, sizeof( ExternalMemoryImageCreateInfo ) );
25559  }
25560 
25562  {
25563  memcpy( this, &rhs, sizeof( ExternalMemoryImageCreateInfo ) );
25564  return *this;
25565  }
25567  {
25568  pNext = pNext_;
25569  return *this;
25570  }
25571 
25573  {
25574  handleTypes = handleTypes_;
25575  return *this;
25576  }
25577 
25578  operator const VkExternalMemoryImageCreateInfo&() const
25579  {
25580  return *reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(this);
25581  }
25582 
25584  {
25585  return ( sType == rhs.sType )
25586  && ( pNext == rhs.pNext )
25587  && ( handleTypes == rhs.handleTypes );
25588  }
25589 
25591  {
25592  return !operator==( rhs );
25593  }
25594 
25595  private:
25597 
25598  public:
25599  const void* pNext = nullptr;
25601  };
25602  static_assert( sizeof( ExternalMemoryImageCreateInfo ) == sizeof( VkExternalMemoryImageCreateInfo ), "struct and wrapper have different size!" );
25603 
25605 
25607  {
25609  : handleTypes( handleTypes_ )
25610  {
25611  }
25612 
25614  {
25615  memcpy( this, &rhs, sizeof( ExternalMemoryBufferCreateInfo ) );
25616  }
25617 
25619  {
25620  memcpy( this, &rhs, sizeof( ExternalMemoryBufferCreateInfo ) );
25621  return *this;
25622  }
25624  {
25625  pNext = pNext_;
25626  return *this;
25627  }
25628 
25630  {
25631  handleTypes = handleTypes_;
25632  return *this;
25633  }
25634 
25635  operator const VkExternalMemoryBufferCreateInfo&() const
25636  {
25637  return *reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(this);
25638  }
25639 
25641  {
25642  return ( sType == rhs.sType )
25643  && ( pNext == rhs.pNext )
25644  && ( handleTypes == rhs.handleTypes );
25645  }
25646 
25648  {
25649  return !operator==( rhs );
25650  }
25651 
25652  private:
25654 
25655  public:
25656  const void* pNext = nullptr;
25658  };
25659  static_assert( sizeof( ExternalMemoryBufferCreateInfo ) == sizeof( VkExternalMemoryBufferCreateInfo ), "struct and wrapper have different size!" );
25660 
25662 
25664  {
25666  : handleTypes( handleTypes_ )
25667  {
25668  }
25669 
25671  {
25672  memcpy( this, &rhs, sizeof( ExportMemoryAllocateInfo ) );
25673  }
25674 
25676  {
25677  memcpy( this, &rhs, sizeof( ExportMemoryAllocateInfo ) );
25678  return *this;
25679  }
25680  ExportMemoryAllocateInfo& setPNext( const void* pNext_ )
25681  {
25682  pNext = pNext_;
25683  return *this;
25684  }
25685 
25687  {
25688  handleTypes = handleTypes_;
25689  return *this;
25690  }
25691 
25692  operator const VkExportMemoryAllocateInfo&() const
25693  {
25694  return *reinterpret_cast<const VkExportMemoryAllocateInfo*>(this);
25695  }
25696 
25697  bool operator==( ExportMemoryAllocateInfo const& rhs ) const
25698  {
25699  return ( sType == rhs.sType )
25700  && ( pNext == rhs.pNext )
25701  && ( handleTypes == rhs.handleTypes );
25702  }
25703 
25704  bool operator!=( ExportMemoryAllocateInfo const& rhs ) const
25705  {
25706  return !operator==( rhs );
25707  }
25708 
25709  private:
25711 
25712  public:
25713  const void* pNext = nullptr;
25715  };
25716  static_assert( sizeof( ExportMemoryAllocateInfo ) == sizeof( VkExportMemoryAllocateInfo ), "struct and wrapper have different size!" );
25717 
25719 
25720 #ifdef VK_USE_PLATFORM_WIN32_KHR
25721  struct ImportMemoryWin32HandleInfoKHR
25722  {
25723  ImportMemoryWin32HandleInfoKHR( ExternalMemoryHandleTypeFlagBits handleType_ = ExternalMemoryHandleTypeFlagBits::eOpaqueFd, HANDLE handle_ = 0, LPCWSTR name_ = 0 )
25724  : handleType( handleType_ )
25725  , handle( handle_ )
25726  , name( name_ )
25727  {
25728  }
25729 
25730  ImportMemoryWin32HandleInfoKHR( VkImportMemoryWin32HandleInfoKHR const & rhs )
25731  {
25732  memcpy( this, &rhs, sizeof( ImportMemoryWin32HandleInfoKHR ) );
25733  }
25734 
25735  ImportMemoryWin32HandleInfoKHR& operator=( VkImportMemoryWin32HandleInfoKHR const & rhs )
25736  {
25737  memcpy( this, &rhs, sizeof( ImportMemoryWin32HandleInfoKHR ) );
25738  return *this;
25739  }
25740  ImportMemoryWin32HandleInfoKHR& setPNext( const void* pNext_ )
25741  {
25742  pNext = pNext_;
25743  return *this;
25744  }
25745 
25746  ImportMemoryWin32HandleInfoKHR& setHandleType( ExternalMemoryHandleTypeFlagBits handleType_ )
25747  {
25748  handleType = handleType_;
25749  return *this;
25750  }
25751 
25752  ImportMemoryWin32HandleInfoKHR& setHandle( HANDLE handle_ )
25753  {
25754  handle = handle_;
25755  return *this;
25756  }
25757 
25758  ImportMemoryWin32HandleInfoKHR& setName( LPCWSTR name_ )
25759  {
25760  name = name_;
25761  return *this;
25762  }
25763 
25764  operator const VkImportMemoryWin32HandleInfoKHR&() const
25765  {
25766  return *reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(this);
25767  }
25768 
25769  bool operator==( ImportMemoryWin32HandleInfoKHR const& rhs ) const
25770  {
25771  return ( sType == rhs.sType )
25772  && ( pNext == rhs.pNext )
25773  && ( handleType == rhs.handleType )
25774  && ( handle == rhs.handle )
25775  && ( name == rhs.name );
25776  }
25777 
25778  bool operator!=( ImportMemoryWin32HandleInfoKHR const& rhs ) const
25779  {
25780  return !operator==( rhs );
25781  }
25782 
25783  private:
25785 
25786  public:
25787  const void* pNext = nullptr;
25789  HANDLE handle;
25790  LPCWSTR name;
25791  };
25792  static_assert( sizeof( ImportMemoryWin32HandleInfoKHR ) == sizeof( VkImportMemoryWin32HandleInfoKHR ), "struct and wrapper have different size!" );
25793 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
25794 
25795 #ifdef VK_USE_PLATFORM_WIN32_KHR
25796  struct MemoryGetWin32HandleInfoKHR
25797  {
25798  MemoryGetWin32HandleInfoKHR( DeviceMemory memory_ = DeviceMemory(), ExternalMemoryHandleTypeFlagBits handleType_ = ExternalMemoryHandleTypeFlagBits::eOpaqueFd )
25799  : memory( memory_ )
25800  , handleType( handleType_ )
25801  {
25802  }
25803 
25804  MemoryGetWin32HandleInfoKHR( VkMemoryGetWin32HandleInfoKHR const & rhs )
25805  {
25806  memcpy( this, &rhs, sizeof( MemoryGetWin32HandleInfoKHR ) );
25807  }
25808 
25809  MemoryGetWin32HandleInfoKHR& operator=( VkMemoryGetWin32HandleInfoKHR const & rhs )
25810  {
25811  memcpy( this, &rhs, sizeof( MemoryGetWin32HandleInfoKHR ) );
25812  return *this;
25813  }
25814  MemoryGetWin32HandleInfoKHR& setPNext( const void* pNext_ )
25815  {
25816  pNext = pNext_;
25817  return *this;
25818  }
25819 
25820  MemoryGetWin32HandleInfoKHR& setMemory( DeviceMemory memory_ )
25821  {
25822  memory = memory_;
25823  return *this;
25824  }
25825 
25826  MemoryGetWin32HandleInfoKHR& setHandleType( ExternalMemoryHandleTypeFlagBits handleType_ )
25827  {
25828  handleType = handleType_;
25829  return *this;
25830  }
25831 
25832  operator const VkMemoryGetWin32HandleInfoKHR&() const
25833  {
25834  return *reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR*>(this);
25835  }
25836 
25837  bool operator==( MemoryGetWin32HandleInfoKHR const& rhs ) const
25838  {
25839  return ( sType == rhs.sType )
25840  && ( pNext == rhs.pNext )
25841  && ( memory == rhs.memory )
25842  && ( handleType == rhs.handleType );
25843  }
25844 
25845  bool operator!=( MemoryGetWin32HandleInfoKHR const& rhs ) const
25846  {
25847  return !operator==( rhs );
25848  }
25849 
25850  private:
25852 
25853  public:
25854  const void* pNext = nullptr;
25855  DeviceMemory memory;
25857  };
25858  static_assert( sizeof( MemoryGetWin32HandleInfoKHR ) == sizeof( VkMemoryGetWin32HandleInfoKHR ), "struct and wrapper have different size!" );
25859 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
25860 
25862  {
25864  : handleType( handleType_ )
25865  , fd( fd_ )
25866  {
25867  }
25868 
25870  {
25871  memcpy( this, &rhs, sizeof( ImportMemoryFdInfoKHR ) );
25872  }
25873 
25875  {
25876  memcpy( this, &rhs, sizeof( ImportMemoryFdInfoKHR ) );
25877  return *this;
25878  }
25879  ImportMemoryFdInfoKHR& setPNext( const void* pNext_ )
25880  {
25881  pNext = pNext_;
25882  return *this;
25883  }
25884 
25886  {
25887  handleType = handleType_;
25888  return *this;
25889  }
25890 
25892  {
25893  fd = fd_;
25894  return *this;
25895  }
25896 
25897  operator const VkImportMemoryFdInfoKHR&() const
25898  {
25899  return *reinterpret_cast<const VkImportMemoryFdInfoKHR*>(this);
25900  }
25901 
25902  bool operator==( ImportMemoryFdInfoKHR const& rhs ) const
25903  {
25904  return ( sType == rhs.sType )
25905  && ( pNext == rhs.pNext )
25906  && ( handleType == rhs.handleType )
25907  && ( fd == rhs.fd );
25908  }
25909 
25910  bool operator!=( ImportMemoryFdInfoKHR const& rhs ) const
25911  {
25912  return !operator==( rhs );
25913  }
25914 
25915  private:
25917 
25918  public:
25919  const void* pNext = nullptr;
25921  int fd;
25922  };
25923  static_assert( sizeof( ImportMemoryFdInfoKHR ) == sizeof( VkImportMemoryFdInfoKHR ), "struct and wrapper have different size!" );
25924 
25926  {
25928  : memory( memory_ )
25929  , handleType( handleType_ )
25930  {
25931  }
25932 
25934  {
25935  memcpy( this, &rhs, sizeof( MemoryGetFdInfoKHR ) );
25936  }
25937 
25939  {
25940  memcpy( this, &rhs, sizeof( MemoryGetFdInfoKHR ) );
25941  return *this;
25942  }
25943  MemoryGetFdInfoKHR& setPNext( const void* pNext_ )
25944  {
25945  pNext = pNext_;
25946  return *this;
25947  }
25948 
25950  {
25951  memory = memory_;
25952  return *this;
25953  }
25954 
25956  {
25957  handleType = handleType_;
25958  return *this;
25959  }
25960 
25961  operator const VkMemoryGetFdInfoKHR&() const
25962  {
25963  return *reinterpret_cast<const VkMemoryGetFdInfoKHR*>(this);
25964  }
25965 
25966  bool operator==( MemoryGetFdInfoKHR const& rhs ) const
25967  {
25968  return ( sType == rhs.sType )
25969  && ( pNext == rhs.pNext )
25970  && ( memory == rhs.memory )
25971  && ( handleType == rhs.handleType );
25972  }
25973 
25974  bool operator!=( MemoryGetFdInfoKHR const& rhs ) const
25975  {
25976  return !operator==( rhs );
25977  }
25978 
25979  private:
25981 
25982  public:
25983  const void* pNext = nullptr;
25986  };
25987  static_assert( sizeof( MemoryGetFdInfoKHR ) == sizeof( VkMemoryGetFdInfoKHR ), "struct and wrapper have different size!" );
25988 
25990  {
25992  : handleType( handleType_ )
25993  , pHostPointer( pHostPointer_ )
25994  {
25995  }
25996 
25998  {
25999  memcpy( this, &rhs, sizeof( ImportMemoryHostPointerInfoEXT ) );
26000  }
26001 
26003  {
26004  memcpy( this, &rhs, sizeof( ImportMemoryHostPointerInfoEXT ) );
26005  return *this;
26006  }
26008  {
26009  pNext = pNext_;
26010  return *this;
26011  }
26012 
26014  {
26015  handleType = handleType_;
26016  return *this;
26017  }
26018 
26020  {
26021  pHostPointer = pHostPointer_;
26022  return *this;
26023  }
26024 
26025  operator const VkImportMemoryHostPointerInfoEXT&() const
26026  {
26027  return *reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(this);
26028  }
26029 
26031  {
26032  return ( sType == rhs.sType )
26033  && ( pNext == rhs.pNext )
26034  && ( handleType == rhs.handleType )
26035  && ( pHostPointer == rhs.pHostPointer );
26036  }
26037 
26039  {
26040  return !operator==( rhs );
26041  }
26042 
26043  private:
26045 
26046  public:
26047  const void* pNext = nullptr;
26050  };
26051  static_assert( sizeof( ImportMemoryHostPointerInfoEXT ) == sizeof( VkImportMemoryHostPointerInfoEXT ), "struct and wrapper have different size!" );
26052 
26054  {
26061  };
26062 
26064 
26066  {
26067  return ExternalMemoryFeatureFlags( bit0 ) | bit1;
26068  }
26069 
26071  {
26072  return ~( ExternalMemoryFeatureFlags( bits ) );
26073  }
26074 
26076  {
26077  enum
26078  {
26080  };
26081  };
26082 
26084 
26086  {
26087  operator const VkExternalMemoryProperties&() const
26088  {
26089  return *reinterpret_cast<const VkExternalMemoryProperties*>(this);
26090  }
26091 
26092  bool operator==( ExternalMemoryProperties const& rhs ) const
26093  {
26097  }
26098 
26099  bool operator!=( ExternalMemoryProperties const& rhs ) const
26100  {
26101  return !operator==( rhs );
26102  }
26103 
26107  };
26108  static_assert( sizeof( ExternalMemoryProperties ) == sizeof( VkExternalMemoryProperties ), "struct and wrapper have different size!" );
26109 
26111 
26113  {
26114  operator const VkExternalImageFormatProperties&() const
26115  {
26116  return *reinterpret_cast<const VkExternalImageFormatProperties*>(this);
26117  }
26118 
26120  {
26121  return ( sType == rhs.sType )
26122  && ( pNext == rhs.pNext )
26124  }
26125 
26127  {
26128  return !operator==( rhs );
26129  }
26130 
26131  private:
26133 
26134  public:
26135  void* pNext = nullptr;
26137  };
26138  static_assert( sizeof( ExternalImageFormatProperties ) == sizeof( VkExternalImageFormatProperties ), "struct and wrapper have different size!" );
26139 
26141 
26143  {
26144  operator const VkExternalBufferProperties&() const
26145  {
26146  return *reinterpret_cast<const VkExternalBufferProperties*>(this);
26147  }
26148 
26149  bool operator==( ExternalBufferProperties const& rhs ) const
26150  {
26151  return ( sType == rhs.sType )
26152  && ( pNext == rhs.pNext )
26154  }
26155 
26156  bool operator!=( ExternalBufferProperties const& rhs ) const
26157  {
26158  return !operator==( rhs );
26159  }
26160 
26161  private:
26163 
26164  public:
26165  void* pNext = nullptr;
26167  };
26168  static_assert( sizeof( ExternalBufferProperties ) == sizeof( VkExternalBufferProperties ), "struct and wrapper have different size!" );
26169 
26171 
26173  {
26184  };
26185 
26187 
26189  {
26190  return ExternalSemaphoreHandleTypeFlags( bit0 ) | bit1;
26191  }
26192 
26194  {
26195  return ~( ExternalSemaphoreHandleTypeFlags( bits ) );
26196  }
26197 
26199  {
26200  enum
26201  {
26203  };
26204  };
26205 
26207 
26209  {
26211  : handleType( handleType_ )
26212  {
26213  }
26214 
26216  {
26217  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalSemaphoreInfo ) );
26218  }
26219 
26221  {
26222  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalSemaphoreInfo ) );
26223  return *this;
26224  }
26226  {
26227  pNext = pNext_;
26228  return *this;
26229  }
26230 
26232  {
26233  handleType = handleType_;
26234  return *this;
26235  }
26236 
26238  {
26239  return *reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo*>(this);
26240  }
26241 
26243  {
26244  return ( sType == rhs.sType )
26245  && ( pNext == rhs.pNext )
26246  && ( handleType == rhs.handleType );
26247  }
26248 
26250  {
26251  return !operator==( rhs );
26252  }
26253 
26254  private:
26256 
26257  public:
26258  const void* pNext = nullptr;
26260  };
26261  static_assert( sizeof( PhysicalDeviceExternalSemaphoreInfo ) == sizeof( VkPhysicalDeviceExternalSemaphoreInfo ), "struct and wrapper have different size!" );
26262 
26264 
26266  {
26268  : handleTypes( handleTypes_ )
26269  {
26270  }
26271 
26273  {
26274  memcpy( this, &rhs, sizeof( ExportSemaphoreCreateInfo ) );
26275  }
26276 
26278  {
26279  memcpy( this, &rhs, sizeof( ExportSemaphoreCreateInfo ) );
26280  return *this;
26281  }
26282  ExportSemaphoreCreateInfo& setPNext( const void* pNext_ )
26283  {
26284  pNext = pNext_;
26285  return *this;
26286  }
26287 
26289  {
26290  handleTypes = handleTypes_;
26291  return *this;
26292  }
26293 
26294  operator const VkExportSemaphoreCreateInfo&() const
26295  {
26296  return *reinterpret_cast<const VkExportSemaphoreCreateInfo*>(this);
26297  }
26298 
26299  bool operator==( ExportSemaphoreCreateInfo const& rhs ) const
26300  {
26301  return ( sType == rhs.sType )
26302  && ( pNext == rhs.pNext )
26303  && ( handleTypes == rhs.handleTypes );
26304  }
26305 
26306  bool operator!=( ExportSemaphoreCreateInfo const& rhs ) const
26307  {
26308  return !operator==( rhs );
26309  }
26310 
26311  private:
26313 
26314  public:
26315  const void* pNext = nullptr;
26317  };
26318  static_assert( sizeof( ExportSemaphoreCreateInfo ) == sizeof( VkExportSemaphoreCreateInfo ), "struct and wrapper have different size!" );
26319 
26321 
26322 #ifdef VK_USE_PLATFORM_WIN32_KHR
26323  struct SemaphoreGetWin32HandleInfoKHR
26324  {
26325  SemaphoreGetWin32HandleInfoKHR( Semaphore semaphore_ = Semaphore(), ExternalSemaphoreHandleTypeFlagBits handleType_ = ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd )
26326  : semaphore( semaphore_ )
26327  , handleType( handleType_ )
26328  {
26329  }
26330 
26331  SemaphoreGetWin32HandleInfoKHR( VkSemaphoreGetWin32HandleInfoKHR const & rhs )
26332  {
26333  memcpy( this, &rhs, sizeof( SemaphoreGetWin32HandleInfoKHR ) );
26334  }
26335 
26336  SemaphoreGetWin32HandleInfoKHR& operator=( VkSemaphoreGetWin32HandleInfoKHR const & rhs )
26337  {
26338  memcpy( this, &rhs, sizeof( SemaphoreGetWin32HandleInfoKHR ) );
26339  return *this;
26340  }
26341  SemaphoreGetWin32HandleInfoKHR& setPNext( const void* pNext_ )
26342  {
26343  pNext = pNext_;
26344  return *this;
26345  }
26346 
26347  SemaphoreGetWin32HandleInfoKHR& setSemaphore( Semaphore semaphore_ )
26348  {
26349  semaphore = semaphore_;
26350  return *this;
26351  }
26352 
26353  SemaphoreGetWin32HandleInfoKHR& setHandleType( ExternalSemaphoreHandleTypeFlagBits handleType_ )
26354  {
26355  handleType = handleType_;
26356  return *this;
26357  }
26358 
26359  operator const VkSemaphoreGetWin32HandleInfoKHR&() const
26360  {
26361  return *reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR*>(this);
26362  }
26363 
26364  bool operator==( SemaphoreGetWin32HandleInfoKHR const& rhs ) const
26365  {
26366  return ( sType == rhs.sType )
26367  && ( pNext == rhs.pNext )
26368  && ( semaphore == rhs.semaphore )
26369  && ( handleType == rhs.handleType );
26370  }
26371 
26372  bool operator!=( SemaphoreGetWin32HandleInfoKHR const& rhs ) const
26373  {
26374  return !operator==( rhs );
26375  }
26376 
26377  private:
26379 
26380  public:
26381  const void* pNext = nullptr;
26382  Semaphore semaphore;
26384  };
26385  static_assert( sizeof( SemaphoreGetWin32HandleInfoKHR ) == sizeof( VkSemaphoreGetWin32HandleInfoKHR ), "struct and wrapper have different size!" );
26386 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
26387 
26389  {
26391  : semaphore( semaphore_ )
26392  , handleType( handleType_ )
26393  {
26394  }
26395 
26397  {
26398  memcpy( this, &rhs, sizeof( SemaphoreGetFdInfoKHR ) );
26399  }
26400 
26402  {
26403  memcpy( this, &rhs, sizeof( SemaphoreGetFdInfoKHR ) );
26404  return *this;
26405  }
26406  SemaphoreGetFdInfoKHR& setPNext( const void* pNext_ )
26407  {
26408  pNext = pNext_;
26409  return *this;
26410  }
26411 
26413  {
26414  semaphore = semaphore_;
26415  return *this;
26416  }
26417 
26419  {
26420  handleType = handleType_;
26421  return *this;
26422  }
26423 
26424  operator const VkSemaphoreGetFdInfoKHR&() const
26425  {
26426  return *reinterpret_cast<const VkSemaphoreGetFdInfoKHR*>(this);
26427  }
26428 
26429  bool operator==( SemaphoreGetFdInfoKHR const& rhs ) const
26430  {
26431  return ( sType == rhs.sType )
26432  && ( pNext == rhs.pNext )
26433  && ( semaphore == rhs.semaphore )
26434  && ( handleType == rhs.handleType );
26435  }
26436 
26437  bool operator!=( SemaphoreGetFdInfoKHR const& rhs ) const
26438  {
26439  return !operator==( rhs );
26440  }
26441 
26442  private:
26444 
26445  public:
26446  const void* pNext = nullptr;
26449  };
26450  static_assert( sizeof( SemaphoreGetFdInfoKHR ) == sizeof( VkSemaphoreGetFdInfoKHR ), "struct and wrapper have different size!" );
26451 
26453  {
26458  };
26459 
26461 
26463  {
26464  return ExternalSemaphoreFeatureFlags( bit0 ) | bit1;
26465  }
26466 
26468  {
26469  return ~( ExternalSemaphoreFeatureFlags( bits ) );
26470  }
26471 
26473  {
26474  enum
26475  {
26477  };
26478  };
26479 
26481 
26483  {
26484  operator const VkExternalSemaphoreProperties&() const
26485  {
26486  return *reinterpret_cast<const VkExternalSemaphoreProperties*>(this);
26487  }
26488 
26489  bool operator==( ExternalSemaphoreProperties const& rhs ) const
26490  {
26491  return ( sType == rhs.sType )
26492  && ( pNext == rhs.pNext )
26496  }
26497 
26498  bool operator!=( ExternalSemaphoreProperties const& rhs ) const
26499  {
26500  return !operator==( rhs );
26501  }
26502 
26503  private:
26505 
26506  public:
26507  void* pNext = nullptr;
26511  };
26512  static_assert( sizeof( ExternalSemaphoreProperties ) == sizeof( VkExternalSemaphoreProperties ), "struct and wrapper have different size!" );
26513 
26515 
26517  {
26520  };
26521 
26523 
26525  {
26526  return SemaphoreImportFlags( bit0 ) | bit1;
26527  }
26528 
26530  {
26531  return ~( SemaphoreImportFlags( bits ) );
26532  }
26533 
26535  {
26536  enum
26537  {
26539  };
26540  };
26541 
26543 
26544 #ifdef VK_USE_PLATFORM_WIN32_KHR
26545  struct ImportSemaphoreWin32HandleInfoKHR
26546  {
26547  ImportSemaphoreWin32HandleInfoKHR( Semaphore semaphore_ = Semaphore(), SemaphoreImportFlags flags_ = SemaphoreImportFlags(), ExternalSemaphoreHandleTypeFlagBits handleType_ = ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd, HANDLE handle_ = 0, LPCWSTR name_ = 0 )
26548  : semaphore( semaphore_ )
26549  , flags( flags_ )
26550  , handleType( handleType_ )
26551  , handle( handle_ )
26552  , name( name_ )
26553  {
26554  }
26555 
26556  ImportSemaphoreWin32HandleInfoKHR( VkImportSemaphoreWin32HandleInfoKHR const & rhs )
26557  {
26558  memcpy( this, &rhs, sizeof( ImportSemaphoreWin32HandleInfoKHR ) );
26559  }
26560 
26561  ImportSemaphoreWin32HandleInfoKHR& operator=( VkImportSemaphoreWin32HandleInfoKHR const & rhs )
26562  {
26563  memcpy( this, &rhs, sizeof( ImportSemaphoreWin32HandleInfoKHR ) );
26564  return *this;
26565  }
26566  ImportSemaphoreWin32HandleInfoKHR& setPNext( const void* pNext_ )
26567  {
26568  pNext = pNext_;
26569  return *this;
26570  }
26571 
26572  ImportSemaphoreWin32HandleInfoKHR& setSemaphore( Semaphore semaphore_ )
26573  {
26574  semaphore = semaphore_;
26575  return *this;
26576  }
26577 
26578  ImportSemaphoreWin32HandleInfoKHR& setFlags( SemaphoreImportFlags flags_ )
26579  {
26580  flags = flags_;
26581  return *this;
26582  }
26583 
26584  ImportSemaphoreWin32HandleInfoKHR& setHandleType( ExternalSemaphoreHandleTypeFlagBits handleType_ )
26585  {
26586  handleType = handleType_;
26587  return *this;
26588  }
26589 
26590  ImportSemaphoreWin32HandleInfoKHR& setHandle( HANDLE handle_ )
26591  {
26592  handle = handle_;
26593  return *this;
26594  }
26595 
26596  ImportSemaphoreWin32HandleInfoKHR& setName( LPCWSTR name_ )
26597  {
26598  name = name_;
26599  return *this;
26600  }
26601 
26602  operator const VkImportSemaphoreWin32HandleInfoKHR&() const
26603  {
26604  return *reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR*>(this);
26605  }
26606 
26607  bool operator==( ImportSemaphoreWin32HandleInfoKHR const& rhs ) const
26608  {
26609  return ( sType == rhs.sType )
26610  && ( pNext == rhs.pNext )
26611  && ( semaphore == rhs.semaphore )
26612  && ( flags == rhs.flags )
26613  && ( handleType == rhs.handleType )
26614  && ( handle == rhs.handle )
26615  && ( name == rhs.name );
26616  }
26617 
26618  bool operator!=( ImportSemaphoreWin32HandleInfoKHR const& rhs ) const
26619  {
26620  return !operator==( rhs );
26621  }
26622 
26623  private:
26625 
26626  public:
26627  const void* pNext = nullptr;
26628  Semaphore semaphore;
26631  HANDLE handle;
26632  LPCWSTR name;
26633  };
26634  static_assert( sizeof( ImportSemaphoreWin32HandleInfoKHR ) == sizeof( VkImportSemaphoreWin32HandleInfoKHR ), "struct and wrapper have different size!" );
26635 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
26636 
26638  {
26640  : semaphore( semaphore_ )
26641  , flags( flags_ )
26642  , handleType( handleType_ )
26643  , fd( fd_ )
26644  {
26645  }
26646 
26648  {
26649  memcpy( this, &rhs, sizeof( ImportSemaphoreFdInfoKHR ) );
26650  }
26651 
26653  {
26654  memcpy( this, &rhs, sizeof( ImportSemaphoreFdInfoKHR ) );
26655  return *this;
26656  }
26657  ImportSemaphoreFdInfoKHR& setPNext( const void* pNext_ )
26658  {
26659  pNext = pNext_;
26660  return *this;
26661  }
26662 
26664  {
26665  semaphore = semaphore_;
26666  return *this;
26667  }
26668 
26670  {
26671  flags = flags_;
26672  return *this;
26673  }
26674 
26676  {
26677  handleType = handleType_;
26678  return *this;
26679  }
26680 
26682  {
26683  fd = fd_;
26684  return *this;
26685  }
26686 
26687  operator const VkImportSemaphoreFdInfoKHR&() const
26688  {
26689  return *reinterpret_cast<const VkImportSemaphoreFdInfoKHR*>(this);
26690  }
26691 
26692  bool operator==( ImportSemaphoreFdInfoKHR const& rhs ) const
26693  {
26694  return ( sType == rhs.sType )
26695  && ( pNext == rhs.pNext )
26696  && ( semaphore == rhs.semaphore )
26697  && ( flags == rhs.flags )
26698  && ( handleType == rhs.handleType )
26699  && ( fd == rhs.fd );
26700  }
26701 
26702  bool operator!=( ImportSemaphoreFdInfoKHR const& rhs ) const
26703  {
26704  return !operator==( rhs );
26705  }
26706 
26707  private:
26709 
26710  public:
26711  const void* pNext = nullptr;
26715  int fd;
26716  };
26717  static_assert( sizeof( ImportSemaphoreFdInfoKHR ) == sizeof( VkImportSemaphoreFdInfoKHR ), "struct and wrapper have different size!" );
26718 
26720  {
26729  };
26730 
26732 
26734  {
26735  return ExternalFenceHandleTypeFlags( bit0 ) | bit1;
26736  }
26737 
26739  {
26740  return ~( ExternalFenceHandleTypeFlags( bits ) );
26741  }
26742 
26744  {
26745  enum
26746  {
26748  };
26749  };
26750 
26752 
26754  {
26756  : handleType( handleType_ )
26757  {
26758  }
26759 
26761  {
26762  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalFenceInfo ) );
26763  }
26764 
26766  {
26767  memcpy( this, &rhs, sizeof( PhysicalDeviceExternalFenceInfo ) );
26768  return *this;
26769  }
26771  {
26772  pNext = pNext_;
26773  return *this;
26774  }
26775 
26777  {
26778  handleType = handleType_;
26779  return *this;
26780  }
26781 
26782  operator const VkPhysicalDeviceExternalFenceInfo&() const
26783  {
26784  return *reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo*>(this);
26785  }
26786 
26788  {
26789  return ( sType == rhs.sType )
26790  && ( pNext == rhs.pNext )
26791  && ( handleType == rhs.handleType );
26792  }
26793 
26795  {
26796  return !operator==( rhs );
26797  }
26798 
26799  private:
26801 
26802  public:
26803  const void* pNext = nullptr;
26805  };
26806  static_assert( sizeof( PhysicalDeviceExternalFenceInfo ) == sizeof( VkPhysicalDeviceExternalFenceInfo ), "struct and wrapper have different size!" );
26807 
26809 
26811  {
26813  : handleTypes( handleTypes_ )
26814  {
26815  }
26816 
26818  {
26819  memcpy( this, &rhs, sizeof( ExportFenceCreateInfo ) );
26820  }
26821 
26823  {
26824  memcpy( this, &rhs, sizeof( ExportFenceCreateInfo ) );
26825  return *this;
26826  }
26827  ExportFenceCreateInfo& setPNext( const void* pNext_ )
26828  {
26829  pNext = pNext_;
26830  return *this;
26831  }
26832 
26834  {
26835  handleTypes = handleTypes_;
26836  return *this;
26837  }
26838 
26839  operator const VkExportFenceCreateInfo&() const
26840  {
26841  return *reinterpret_cast<const VkExportFenceCreateInfo*>(this);
26842  }
26843 
26844  bool operator==( ExportFenceCreateInfo const& rhs ) const
26845  {
26846  return ( sType == rhs.sType )
26847  && ( pNext == rhs.pNext )
26848  && ( handleTypes == rhs.handleTypes );
26849  }
26850 
26851  bool operator!=( ExportFenceCreateInfo const& rhs ) const
26852  {
26853  return !operator==( rhs );
26854  }
26855 
26856  private:
26858 
26859  public:
26860  const void* pNext = nullptr;
26862  };
26863  static_assert( sizeof( ExportFenceCreateInfo ) == sizeof( VkExportFenceCreateInfo ), "struct and wrapper have different size!" );
26864 
26866 
26867 #ifdef VK_USE_PLATFORM_WIN32_KHR
26868  struct FenceGetWin32HandleInfoKHR
26869  {
26870  FenceGetWin32HandleInfoKHR( Fence fence_ = Fence(), ExternalFenceHandleTypeFlagBits handleType_ = ExternalFenceHandleTypeFlagBits::eOpaqueFd )
26871  : fence( fence_ )
26872  , handleType( handleType_ )
26873  {
26874  }
26875 
26876  FenceGetWin32HandleInfoKHR( VkFenceGetWin32HandleInfoKHR const & rhs )
26877  {
26878  memcpy( this, &rhs, sizeof( FenceGetWin32HandleInfoKHR ) );
26879  }
26880 
26881  FenceGetWin32HandleInfoKHR& operator=( VkFenceGetWin32HandleInfoKHR const & rhs )
26882  {
26883  memcpy( this, &rhs, sizeof( FenceGetWin32HandleInfoKHR ) );
26884  return *this;
26885  }
26886  FenceGetWin32HandleInfoKHR& setPNext( const void* pNext_ )
26887  {
26888  pNext = pNext_;
26889  return *this;
26890  }
26891 
26892  FenceGetWin32HandleInfoKHR& setFence( Fence fence_ )
26893  {
26894  fence = fence_;
26895  return *this;
26896  }
26897 
26898  FenceGetWin32HandleInfoKHR& setHandleType( ExternalFenceHandleTypeFlagBits handleType_ )
26899  {
26900  handleType = handleType_;
26901  return *this;
26902  }
26903 
26904  operator const VkFenceGetWin32HandleInfoKHR&() const
26905  {
26906  return *reinterpret_cast<const VkFenceGetWin32HandleInfoKHR*>(this);
26907  }
26908 
26909  bool operator==( FenceGetWin32HandleInfoKHR const& rhs ) const
26910  {
26911  return ( sType == rhs.sType )
26912  && ( pNext == rhs.pNext )
26913  && ( fence == rhs.fence )
26914  && ( handleType == rhs.handleType );
26915  }
26916 
26917  bool operator!=( FenceGetWin32HandleInfoKHR const& rhs ) const
26918  {
26919  return !operator==( rhs );
26920  }
26921 
26922  private:
26924 
26925  public:
26926  const void* pNext = nullptr;
26927  Fence fence;
26929  };
26930  static_assert( sizeof( FenceGetWin32HandleInfoKHR ) == sizeof( VkFenceGetWin32HandleInfoKHR ), "struct and wrapper have different size!" );
26931 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
26932 
26934  {
26936  : fence( fence_ )
26937  , handleType( handleType_ )
26938  {
26939  }
26940 
26942  {
26943  memcpy( this, &rhs, sizeof( FenceGetFdInfoKHR ) );
26944  }
26945 
26947  {
26948  memcpy( this, &rhs, sizeof( FenceGetFdInfoKHR ) );
26949  return *this;
26950  }
26951  FenceGetFdInfoKHR& setPNext( const void* pNext_ )
26952  {
26953  pNext = pNext_;
26954  return *this;
26955  }
26956 
26958  {
26959  fence = fence_;
26960  return *this;
26961  }
26962 
26964  {
26965  handleType = handleType_;
26966  return *this;
26967  }
26968 
26969  operator const VkFenceGetFdInfoKHR&() const
26970  {
26971  return *reinterpret_cast<const VkFenceGetFdInfoKHR*>(this);
26972  }
26973 
26974  bool operator==( FenceGetFdInfoKHR const& rhs ) const
26975  {
26976  return ( sType == rhs.sType )
26977  && ( pNext == rhs.pNext )
26978  && ( fence == rhs.fence )
26979  && ( handleType == rhs.handleType );
26980  }
26981 
26982  bool operator!=( FenceGetFdInfoKHR const& rhs ) const
26983  {
26984  return !operator==( rhs );
26985  }
26986 
26987  private:
26989 
26990  public:
26991  const void* pNext = nullptr;
26994  };
26995  static_assert( sizeof( FenceGetFdInfoKHR ) == sizeof( VkFenceGetFdInfoKHR ), "struct and wrapper have different size!" );
26996 
26998  {
27003  };
27004 
27006 
27008  {
27009  return ExternalFenceFeatureFlags( bit0 ) | bit1;
27010  }
27011 
27013  {
27014  return ~( ExternalFenceFeatureFlags( bits ) );
27015  }
27016 
27018  {
27019  enum
27020  {
27022  };
27023  };
27024 
27026 
27028  {
27029  operator const VkExternalFenceProperties&() const
27030  {
27031  return *reinterpret_cast<const VkExternalFenceProperties*>(this);
27032  }
27033 
27034  bool operator==( ExternalFenceProperties const& rhs ) const
27035  {
27036  return ( sType == rhs.sType )
27037  && ( pNext == rhs.pNext )
27041  }
27042 
27043  bool operator!=( ExternalFenceProperties const& rhs ) const
27044  {
27045  return !operator==( rhs );
27046  }
27047 
27048  private:
27050 
27051  public:
27052  void* pNext = nullptr;
27056  };
27057  static_assert( sizeof( ExternalFenceProperties ) == sizeof( VkExternalFenceProperties ), "struct and wrapper have different size!" );
27058 
27060 
27062  {
27065  };
27066 
27068 
27070  {
27071  return FenceImportFlags( bit0 ) | bit1;
27072  }
27073 
27075  {
27076  return ~( FenceImportFlags( bits ) );
27077  }
27078 
27079  template <> struct FlagTraits<FenceImportFlagBits>
27080  {
27081  enum
27082  {
27084  };
27085  };
27086 
27088 
27089 #ifdef VK_USE_PLATFORM_WIN32_KHR
27090  struct ImportFenceWin32HandleInfoKHR
27091  {
27092  ImportFenceWin32HandleInfoKHR( Fence fence_ = Fence(), FenceImportFlags flags_ = FenceImportFlags(), ExternalFenceHandleTypeFlagBits handleType_ = ExternalFenceHandleTypeFlagBits::eOpaqueFd, HANDLE handle_ = 0, LPCWSTR name_ = 0 )
27093  : fence( fence_ )
27094  , flags( flags_ )
27095  , handleType( handleType_ )
27096  , handle( handle_ )
27097  , name( name_ )
27098  {
27099  }
27100 
27101  ImportFenceWin32HandleInfoKHR( VkImportFenceWin32HandleInfoKHR const & rhs )
27102  {
27103  memcpy( this, &rhs, sizeof( ImportFenceWin32HandleInfoKHR ) );
27104  }
27105 
27106  ImportFenceWin32HandleInfoKHR& operator=( VkImportFenceWin32HandleInfoKHR const & rhs )
27107  {
27108  memcpy( this, &rhs, sizeof( ImportFenceWin32HandleInfoKHR ) );
27109  return *this;
27110  }
27111  ImportFenceWin32HandleInfoKHR& setPNext( const void* pNext_ )
27112  {
27113  pNext = pNext_;
27114  return *this;
27115  }
27116 
27117  ImportFenceWin32HandleInfoKHR& setFence( Fence fence_ )
27118  {
27119  fence = fence_;
27120  return *this;
27121  }
27122 
27123  ImportFenceWin32HandleInfoKHR& setFlags( FenceImportFlags flags_ )
27124  {
27125  flags = flags_;
27126  return *this;
27127  }
27128 
27129  ImportFenceWin32HandleInfoKHR& setHandleType( ExternalFenceHandleTypeFlagBits handleType_ )
27130  {
27131  handleType = handleType_;
27132  return *this;
27133  }
27134 
27135  ImportFenceWin32HandleInfoKHR& setHandle( HANDLE handle_ )
27136  {
27137  handle = handle_;
27138  return *this;
27139  }
27140 
27141  ImportFenceWin32HandleInfoKHR& setName( LPCWSTR name_ )
27142  {
27143  name = name_;
27144  return *this;
27145  }
27146 
27147  operator const VkImportFenceWin32HandleInfoKHR&() const
27148  {
27149  return *reinterpret_cast<const VkImportFenceWin32HandleInfoKHR*>(this);
27150  }
27151 
27152  bool operator==( ImportFenceWin32HandleInfoKHR const& rhs ) const
27153  {
27154  return ( sType == rhs.sType )
27155  && ( pNext == rhs.pNext )
27156  && ( fence == rhs.fence )
27157  && ( flags == rhs.flags )
27158  && ( handleType == rhs.handleType )
27159  && ( handle == rhs.handle )
27160  && ( name == rhs.name );
27161  }
27162 
27163  bool operator!=( ImportFenceWin32HandleInfoKHR const& rhs ) const
27164  {
27165  return !operator==( rhs );
27166  }
27167 
27168  private:
27170 
27171  public:
27172  const void* pNext = nullptr;
27173  Fence fence;
27176  HANDLE handle;
27177  LPCWSTR name;
27178  };
27179  static_assert( sizeof( ImportFenceWin32HandleInfoKHR ) == sizeof( VkImportFenceWin32HandleInfoKHR ), "struct and wrapper have different size!" );
27180 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
27181 
27183  {
27185  : fence( fence_ )
27186  , flags( flags_ )
27187  , handleType( handleType_ )
27188  , fd( fd_ )
27189  {
27190  }
27191 
27193  {
27194  memcpy( this, &rhs, sizeof( ImportFenceFdInfoKHR ) );
27195  }
27196 
27198  {
27199  memcpy( this, &rhs, sizeof( ImportFenceFdInfoKHR ) );
27200  return *this;
27201  }
27202  ImportFenceFdInfoKHR& setPNext( const void* pNext_ )
27203  {
27204  pNext = pNext_;
27205  return *this;
27206  }
27207 
27209  {
27210  fence = fence_;
27211  return *this;
27212  }
27213 
27215  {
27216  flags = flags_;
27217  return *this;
27218  }
27219 
27221  {
27222  handleType = handleType_;
27223  return *this;
27224  }
27225 
27227  {
27228  fd = fd_;
27229  return *this;
27230  }
27231 
27232  operator const VkImportFenceFdInfoKHR&() const
27233  {
27234  return *reinterpret_cast<const VkImportFenceFdInfoKHR*>(this);
27235  }
27236 
27237  bool operator==( ImportFenceFdInfoKHR const& rhs ) const
27238  {
27239  return ( sType == rhs.sType )
27240  && ( pNext == rhs.pNext )
27241  && ( fence == rhs.fence )
27242  && ( flags == rhs.flags )
27243  && ( handleType == rhs.handleType )
27244  && ( fd == rhs.fd );
27245  }
27246 
27247  bool operator!=( ImportFenceFdInfoKHR const& rhs ) const
27248  {
27249  return !operator==( rhs );
27250  }
27251 
27252  private:
27254 
27255  public:
27256  const void* pNext = nullptr;
27260  int fd;
27261  };
27262  static_assert( sizeof( ImportFenceFdInfoKHR ) == sizeof( VkImportFenceFdInfoKHR ), "struct and wrapper have different size!" );
27263 
27265  {
27267  };
27268 
27270 
27272  {
27273  return SurfaceCounterFlagsEXT( bit0 ) | bit1;
27274  }
27275 
27277  {
27278  return ~( SurfaceCounterFlagsEXT( bits ) );
27279  }
27280 
27282  {
27283  enum
27284  {
27286  };
27287  };
27288 
27290  {
27291  operator const VkSurfaceCapabilities2EXT&() const
27292  {
27293  return *reinterpret_cast<const VkSurfaceCapabilities2EXT*>(this);
27294  }
27295 
27296  bool operator==( SurfaceCapabilities2EXT const& rhs ) const
27297  {
27298  return ( sType == rhs.sType )
27299  && ( pNext == rhs.pNext )
27300  && ( minImageCount == rhs.minImageCount )
27301  && ( maxImageCount == rhs.maxImageCount )
27302  && ( currentExtent == rhs.currentExtent )
27303  && ( minImageExtent == rhs.minImageExtent )
27304  && ( maxImageExtent == rhs.maxImageExtent )
27307  && ( currentTransform == rhs.currentTransform )
27311  }
27312 
27313  bool operator!=( SurfaceCapabilities2EXT const& rhs ) const
27314  {
27315  return !operator==( rhs );
27316  }
27317 
27318  private:
27320 
27321  public:
27322  void* pNext = nullptr;
27334  };
27335  static_assert( sizeof( SurfaceCapabilities2EXT ) == sizeof( VkSurfaceCapabilities2EXT ), "struct and wrapper have different size!" );
27336 
27338  {
27340  : surfaceCounters( surfaceCounters_ )
27341  {
27342  }
27343 
27345  {
27346  memcpy( this, &rhs, sizeof( SwapchainCounterCreateInfoEXT ) );
27347  }
27348 
27350  {
27351  memcpy( this, &rhs, sizeof( SwapchainCounterCreateInfoEXT ) );
27352  return *this;
27353  }
27355  {
27356  pNext = pNext_;
27357  return *this;
27358  }
27359 
27361  {
27362  surfaceCounters = surfaceCounters_;
27363  return *this;
27364  }
27365 
27366  operator const VkSwapchainCounterCreateInfoEXT&() const
27367  {
27368  return *reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(this);
27369  }
27370 
27372  {
27373  return ( sType == rhs.sType )
27374  && ( pNext == rhs.pNext )
27375  && ( surfaceCounters == rhs.surfaceCounters );
27376  }
27377 
27379  {
27380  return !operator==( rhs );
27381  }
27382 
27383  private:
27385 
27386  public:
27387  const void* pNext = nullptr;
27389  };
27390  static_assert( sizeof( SwapchainCounterCreateInfoEXT ) == sizeof( VkSwapchainCounterCreateInfoEXT ), "struct and wrapper have different size!" );
27391 
27393  {
27397  };
27398 
27400  {
27402  : powerState( powerState_ )
27403  {
27404  }
27405 
27407  {
27408  memcpy( this, &rhs, sizeof( DisplayPowerInfoEXT ) );
27409  }
27410 
27412  {
27413  memcpy( this, &rhs, sizeof( DisplayPowerInfoEXT ) );
27414  return *this;
27415  }
27416  DisplayPowerInfoEXT& setPNext( const void* pNext_ )
27417  {
27418  pNext = pNext_;
27419  return *this;
27420  }
27421 
27423  {
27424  powerState = powerState_;
27425  return *this;
27426  }
27427 
27428  operator const VkDisplayPowerInfoEXT&() const
27429  {
27430  return *reinterpret_cast<const VkDisplayPowerInfoEXT*>(this);
27431  }
27432 
27433  bool operator==( DisplayPowerInfoEXT const& rhs ) const
27434  {
27435  return ( sType == rhs.sType )
27436  && ( pNext == rhs.pNext )
27437  && ( powerState == rhs.powerState );
27438  }
27439 
27440  bool operator!=( DisplayPowerInfoEXT const& rhs ) const
27441  {
27442  return !operator==( rhs );
27443  }
27444 
27445  private:
27447 
27448  public:
27449  const void* pNext = nullptr;
27451  };
27452  static_assert( sizeof( DisplayPowerInfoEXT ) == sizeof( VkDisplayPowerInfoEXT ), "struct and wrapper have different size!" );
27453 
27455  {
27457  };
27458 
27460  {
27462  : deviceEvent( deviceEvent_ )
27463  {
27464  }
27465 
27467  {
27468  memcpy( this, &rhs, sizeof( DeviceEventInfoEXT ) );
27469  }
27470 
27472  {
27473  memcpy( this, &rhs, sizeof( DeviceEventInfoEXT ) );
27474  return *this;
27475  }
27476  DeviceEventInfoEXT& setPNext( const void* pNext_ )
27477  {
27478  pNext = pNext_;
27479  return *this;
27480  }
27481 
27483  {
27484  deviceEvent = deviceEvent_;
27485  return *this;
27486  }
27487 
27488  operator const VkDeviceEventInfoEXT&() const
27489  {
27490  return *reinterpret_cast<const VkDeviceEventInfoEXT*>(this);
27491  }
27492 
27493  bool operator==( DeviceEventInfoEXT const& rhs ) const
27494  {
27495  return ( sType == rhs.sType )
27496  && ( pNext == rhs.pNext )
27497  && ( deviceEvent == rhs.deviceEvent );
27498  }
27499 
27500  bool operator!=( DeviceEventInfoEXT const& rhs ) const
27501  {
27502  return !operator==( rhs );
27503  }
27504 
27505  private:
27507 
27508  public:
27509  const void* pNext = nullptr;
27511  };
27512  static_assert( sizeof( DeviceEventInfoEXT ) == sizeof( VkDeviceEventInfoEXT ), "struct and wrapper have different size!" );
27513 
27515  {
27517  };
27518 
27520  {
27522  : displayEvent( displayEvent_ )
27523  {
27524  }
27525 
27527  {
27528  memcpy( this, &rhs, sizeof( DisplayEventInfoEXT ) );
27529  }
27530 
27532  {
27533  memcpy( this, &rhs, sizeof( DisplayEventInfoEXT ) );
27534  return *this;
27535  }
27536  DisplayEventInfoEXT& setPNext( const void* pNext_ )
27537  {
27538  pNext = pNext_;
27539  return *this;
27540  }
27541 
27543  {
27544  displayEvent = displayEvent_;
27545  return *this;
27546  }
27547 
27548  operator const VkDisplayEventInfoEXT&() const
27549  {
27550  return *reinterpret_cast<const VkDisplayEventInfoEXT*>(this);
27551  }
27552 
27553  bool operator==( DisplayEventInfoEXT const& rhs ) const
27554  {
27555  return ( sType == rhs.sType )
27556  && ( pNext == rhs.pNext )
27557  && ( displayEvent == rhs.displayEvent );
27558  }
27559 
27560  bool operator!=( DisplayEventInfoEXT const& rhs ) const
27561  {
27562  return !operator==( rhs );
27563  }
27564 
27565  private:
27567 
27568  public:
27569  const void* pNext = nullptr;
27571  };
27572  static_assert( sizeof( DisplayEventInfoEXT ) == sizeof( VkDisplayEventInfoEXT ), "struct and wrapper have different size!" );
27573 
27575  {
27584  };
27585 
27587 
27589  {
27590  return PeerMemoryFeatureFlags( bit0 ) | bit1;
27591  }
27592 
27594  {
27595  return ~( PeerMemoryFeatureFlags( bits ) );
27596  }
27597 
27599  {
27600  enum
27601  {
27603  };
27604  };
27605 
27607 
27609  {
27612  };
27613 
27615 
27617  {
27618  return MemoryAllocateFlags( bit0 ) | bit1;
27619  }
27620 
27622  {
27623  return ~( MemoryAllocateFlags( bits ) );
27624  }
27625 
27627  {
27628  enum
27629  {
27631  };
27632  };
27633 
27635 
27637  {
27639  : flags( flags_ )
27640  , deviceMask( deviceMask_ )
27641  {
27642  }
27643 
27645  {
27646  memcpy( this, &rhs, sizeof( MemoryAllocateFlagsInfo ) );
27647  }
27648 
27650  {
27651  memcpy( this, &rhs, sizeof( MemoryAllocateFlagsInfo ) );
27652  return *this;
27653  }
27654  MemoryAllocateFlagsInfo& setPNext( const void* pNext_ )
27655  {
27656  pNext = pNext_;
27657  return *this;
27658  }
27659 
27661  {
27662  flags = flags_;
27663  return *this;
27664  }
27665 
27667  {
27668  deviceMask = deviceMask_;
27669  return *this;
27670  }
27671 
27672  operator const VkMemoryAllocateFlagsInfo&() const
27673  {
27674  return *reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(this);
27675  }
27676 
27677  bool operator==( MemoryAllocateFlagsInfo const& rhs ) const
27678  {
27679  return ( sType == rhs.sType )
27680  && ( pNext == rhs.pNext )
27681  && ( flags == rhs.flags )
27682  && ( deviceMask == rhs.deviceMask );
27683  }
27684 
27685  bool operator!=( MemoryAllocateFlagsInfo const& rhs ) const
27686  {
27687  return !operator==( rhs );
27688  }
27689 
27690  private:
27692 
27693  public:
27694  const void* pNext = nullptr;
27697  };
27698  static_assert( sizeof( MemoryAllocateFlagsInfo ) == sizeof( VkMemoryAllocateFlagsInfo ), "struct and wrapper have different size!" );
27699 
27701 
27703  {
27708  };
27709 
27711 
27713  {
27714  return DeviceGroupPresentModeFlagsKHR( bit0 ) | bit1;
27715  }
27716 
27718  {
27719  return ~( DeviceGroupPresentModeFlagsKHR( bits ) );
27720  }
27721 
27723  {
27724  enum
27725  {
27727  };
27728  };
27729 
27731  {
27732  operator const VkDeviceGroupPresentCapabilitiesKHR&() const
27733  {
27734  return *reinterpret_cast<const VkDeviceGroupPresentCapabilitiesKHR*>(this);
27735  }
27736 
27738  {
27739  return ( sType == rhs.sType )
27740  && ( pNext == rhs.pNext )
27741  && ( memcmp( presentMask, rhs.presentMask, VK_MAX_DEVICE_GROUP_SIZE * sizeof( uint32_t ) ) == 0 )
27742  && ( modes == rhs.modes );
27743  }
27744 
27746  {
27747  return !operator==( rhs );
27748  }
27749 
27750  private:
27752 
27753  public:
27754  const void* pNext = nullptr;
27757  };
27758  static_assert( sizeof( DeviceGroupPresentCapabilitiesKHR ) == sizeof( VkDeviceGroupPresentCapabilitiesKHR ), "struct and wrapper have different size!" );
27759 
27761  {
27763  : swapchainCount( swapchainCount_ )
27764  , pDeviceMasks( pDeviceMasks_ )
27765  , mode( mode_ )
27766  {
27767  }
27768 
27770  {
27771  memcpy( this, &rhs, sizeof( DeviceGroupPresentInfoKHR ) );
27772  }
27773 
27775  {
27776  memcpy( this, &rhs, sizeof( DeviceGroupPresentInfoKHR ) );
27777  return *this;
27778  }
27779  DeviceGroupPresentInfoKHR& setPNext( const void* pNext_ )
27780  {
27781  pNext = pNext_;
27782  return *this;
27783  }
27784 
27786  {
27787  swapchainCount = swapchainCount_;
27788  return *this;
27789  }
27790 
27792  {
27793  pDeviceMasks = pDeviceMasks_;
27794  return *this;
27795  }
27796 
27798  {
27799  mode = mode_;
27800  return *this;
27801  }
27802 
27803  operator const VkDeviceGroupPresentInfoKHR&() const
27804  {
27805  return *reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(this);
27806  }
27807 
27808  bool operator==( DeviceGroupPresentInfoKHR const& rhs ) const
27809  {
27810  return ( sType == rhs.sType )
27811  && ( pNext == rhs.pNext )
27812  && ( swapchainCount == rhs.swapchainCount )
27813  && ( pDeviceMasks == rhs.pDeviceMasks )
27814  && ( mode == rhs.mode );
27815  }
27816 
27817  bool operator!=( DeviceGroupPresentInfoKHR const& rhs ) const
27818  {
27819  return !operator==( rhs );
27820  }
27821 
27822  private:
27824 
27825  public:
27826  const void* pNext = nullptr;
27830  };
27831  static_assert( sizeof( DeviceGroupPresentInfoKHR ) == sizeof( VkDeviceGroupPresentInfoKHR ), "struct and wrapper have different size!" );
27832 
27834  {
27836  : modes( modes_ )
27837  {
27838  }
27839 
27841  {
27842  memcpy( this, &rhs, sizeof( DeviceGroupSwapchainCreateInfoKHR ) );
27843  }
27844 
27846  {
27847  memcpy( this, &rhs, sizeof( DeviceGroupSwapchainCreateInfoKHR ) );
27848  return *this;
27849  }
27851  {
27852  pNext = pNext_;
27853  return *this;
27854  }
27855 
27857  {
27858  modes = modes_;
27859  return *this;
27860  }
27861 
27862  operator const VkDeviceGroupSwapchainCreateInfoKHR&() const
27863  {
27864  return *reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(this);
27865  }
27866 
27868  {
27869  return ( sType == rhs.sType )
27870  && ( pNext == rhs.pNext )
27871  && ( modes == rhs.modes );
27872  }
27873 
27875  {
27876  return !operator==( rhs );
27877  }
27878 
27879  private:
27881 
27882  public:
27883  const void* pNext = nullptr;
27885  };
27886  static_assert( sizeof( DeviceGroupSwapchainCreateInfoKHR ) == sizeof( VkDeviceGroupSwapchainCreateInfoKHR ), "struct and wrapper have different size!" );
27887 
27889  {
27892  };
27893 
27895 
27897  {
27898  return SwapchainCreateFlagsKHR( bit0 ) | bit1;
27899  }
27900 
27902  {
27903  return ~( SwapchainCreateFlagsKHR( bits ) );
27904  }
27905 
27907  {
27908  enum
27909  {
27911  };
27912  };
27913 
27915  {
27916  SwapchainCreateInfoKHR( SwapchainCreateFlagsKHR flags_ = SwapchainCreateFlagsKHR(), SurfaceKHR surface_ = SurfaceKHR(), uint32_t minImageCount_ = 0, Format imageFormat_ = Format::eUndefined, ColorSpaceKHR imageColorSpace_ = ColorSpaceKHR::eSrgbNonlinear, Extent2D imageExtent_ = Extent2D(), uint32_t imageArrayLayers_ = 0, ImageUsageFlags imageUsage_ = ImageUsageFlags(), SharingMode imageSharingMode_ = SharingMode::eExclusive, uint32_t queueFamilyIndexCount_ = 0, const uint32_t* pQueueFamilyIndices_ = nullptr, SurfaceTransformFlagBitsKHR preTransform_ = SurfaceTransformFlagBitsKHR::eIdentity, CompositeAlphaFlagBitsKHR compositeAlpha_ = CompositeAlphaFlagBitsKHR::eOpaque, PresentModeKHR presentMode_ = PresentModeKHR::eImmediate, Bool32 clipped_ = 0, SwapchainKHR oldSwapchain_ = SwapchainKHR() )
27917  : flags( flags_ )
27918  , surface( surface_ )
27919  , minImageCount( minImageCount_ )
27920  , imageFormat( imageFormat_ )
27921  , imageColorSpace( imageColorSpace_ )
27922  , imageExtent( imageExtent_ )
27923  , imageArrayLayers( imageArrayLayers_ )
27924  , imageUsage( imageUsage_ )
27925  , imageSharingMode( imageSharingMode_ )
27926  , queueFamilyIndexCount( queueFamilyIndexCount_ )
27927  , pQueueFamilyIndices( pQueueFamilyIndices_ )
27928  , preTransform( preTransform_ )
27929  , compositeAlpha( compositeAlpha_ )
27930  , presentMode( presentMode_ )
27931  , clipped( clipped_ )
27932  , oldSwapchain( oldSwapchain_ )
27933  {
27934  }
27935 
27937  {
27938  memcpy( this, &rhs, sizeof( SwapchainCreateInfoKHR ) );
27939  }
27940 
27942  {
27943  memcpy( this, &rhs, sizeof( SwapchainCreateInfoKHR ) );
27944  return *this;
27945  }
27946  SwapchainCreateInfoKHR& setPNext( const void* pNext_ )
27947  {
27948  pNext = pNext_;
27949  return *this;
27950  }
27951 
27953  {
27954  flags = flags_;
27955  return *this;
27956  }
27957 
27959  {
27960  surface = surface_;
27961  return *this;
27962  }
27963 
27965  {
27966  minImageCount = minImageCount_;
27967  return *this;
27968  }
27969 
27971  {
27972  imageFormat = imageFormat_;
27973  return *this;
27974  }
27975 
27977  {
27978  imageColorSpace = imageColorSpace_;
27979  return *this;
27980  }
27981 
27983  {
27984  imageExtent = imageExtent_;
27985  return *this;
27986  }
27987 
27989  {
27990  imageArrayLayers = imageArrayLayers_;
27991  return *this;
27992  }
27993 
27995  {
27996  imageUsage = imageUsage_;
27997  return *this;
27998  }
27999 
28001  {
28002  imageSharingMode = imageSharingMode_;
28003  return *this;
28004  }
28005 
28007  {
28008  queueFamilyIndexCount = queueFamilyIndexCount_;
28009  return *this;
28010  }
28011 
28013  {
28014  pQueueFamilyIndices = pQueueFamilyIndices_;
28015  return *this;
28016  }
28017 
28019  {
28020  preTransform = preTransform_;
28021  return *this;
28022  }
28023 
28025  {
28026  compositeAlpha = compositeAlpha_;
28027  return *this;
28028  }
28029 
28031  {
28032  presentMode = presentMode_;
28033  return *this;
28034  }
28035 
28037  {
28038  clipped = clipped_;
28039  return *this;
28040  }
28041 
28043  {
28044  oldSwapchain = oldSwapchain_;
28045  return *this;
28046  }
28047 
28048  operator const VkSwapchainCreateInfoKHR&() const
28049  {
28050  return *reinterpret_cast<const VkSwapchainCreateInfoKHR*>(this);
28051  }
28052 
28053  bool operator==( SwapchainCreateInfoKHR const& rhs ) const
28054  {
28055  return ( sType == rhs.sType )
28056  && ( pNext == rhs.pNext )
28057  && ( flags == rhs.flags )
28058  && ( surface == rhs.surface )
28059  && ( minImageCount == rhs.minImageCount )
28060  && ( imageFormat == rhs.imageFormat )
28061  && ( imageColorSpace == rhs.imageColorSpace )
28062  && ( imageExtent == rhs.imageExtent )
28063  && ( imageArrayLayers == rhs.imageArrayLayers )
28064  && ( imageUsage == rhs.imageUsage )
28065  && ( imageSharingMode == rhs.imageSharingMode )
28068  && ( preTransform == rhs.preTransform )
28069  && ( compositeAlpha == rhs.compositeAlpha )
28070  && ( presentMode == rhs.presentMode )
28071  && ( clipped == rhs.clipped )
28072  && ( oldSwapchain == rhs.oldSwapchain );
28073  }
28074 
28075  bool operator!=( SwapchainCreateInfoKHR const& rhs ) const
28076  {
28077  return !operator==( rhs );
28078  }
28079 
28080  private:
28082 
28083  public:
28084  const void* pNext = nullptr;
28101  };
28102  static_assert( sizeof( SwapchainCreateInfoKHR ) == sizeof( VkSwapchainCreateInfoKHR ), "struct and wrapper have different size!" );
28103 
28105  {
28114  };
28115 
28117  {
28119  : x( x_ )
28120  , y( y_ )
28121  , z( z_ )
28122  , w( w_ )
28123  {
28124  }
28125 
28127  {
28128  memcpy( this, &rhs, sizeof( ViewportSwizzleNV ) );
28129  }
28130 
28132  {
28133  memcpy( this, &rhs, sizeof( ViewportSwizzleNV ) );
28134  return *this;
28135  }
28137  {
28138  x = x_;
28139  return *this;
28140  }
28141 
28143  {
28144  y = y_;
28145  return *this;
28146  }
28147 
28149  {
28150  z = z_;
28151  return *this;
28152  }
28153 
28155  {
28156  w = w_;
28157  return *this;
28158  }
28159 
28160  operator const VkViewportSwizzleNV&() const
28161  {
28162  return *reinterpret_cast<const VkViewportSwizzleNV*>(this);
28163  }
28164 
28165  bool operator==( ViewportSwizzleNV const& rhs ) const
28166  {
28167  return ( x == rhs.x )
28168  && ( y == rhs.y )
28169  && ( z == rhs.z )
28170  && ( w == rhs.w );
28171  }
28172 
28173  bool operator!=( ViewportSwizzleNV const& rhs ) const
28174  {
28175  return !operator==( rhs );
28176  }
28177 
28182  };
28183  static_assert( sizeof( ViewportSwizzleNV ) == sizeof( VkViewportSwizzleNV ), "struct and wrapper have different size!" );
28184 
28186  {
28188  : flags( flags_ )
28189  , viewportCount( viewportCount_ )
28190  , pViewportSwizzles( pViewportSwizzles_ )
28191  {
28192  }
28193 
28195  {
28196  memcpy( this, &rhs, sizeof( PipelineViewportSwizzleStateCreateInfoNV ) );
28197  }
28198 
28200  {
28201  memcpy( this, &rhs, sizeof( PipelineViewportSwizzleStateCreateInfoNV ) );
28202  return *this;
28203  }
28205  {
28206  pNext = pNext_;
28207  return *this;
28208  }
28209 
28211  {
28212  flags = flags_;
28213  return *this;
28214  }
28215 
28217  {
28218  viewportCount = viewportCount_;
28219  return *this;
28220  }
28221 
28223  {
28224  pViewportSwizzles = pViewportSwizzles_;
28225  return *this;
28226  }
28227 
28229  {
28230  return *reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(this);
28231  }
28232 
28234  {
28235  return ( sType == rhs.sType )
28236  && ( pNext == rhs.pNext )
28237  && ( flags == rhs.flags )
28238  && ( viewportCount == rhs.viewportCount )
28239  && ( pViewportSwizzles == rhs.pViewportSwizzles );
28240  }
28241 
28243  {
28244  return !operator==( rhs );
28245  }
28246 
28247  private:
28249 
28250  public:
28251  const void* pNext = nullptr;
28255  };
28256  static_assert( sizeof( PipelineViewportSwizzleStateCreateInfoNV ) == sizeof( VkPipelineViewportSwizzleStateCreateInfoNV ), "struct and wrapper have different size!" );
28257 
28259  {
28262  };
28263 
28265  {
28267  : flags( flags_ )
28268  , discardRectangleMode( discardRectangleMode_ )
28269  , discardRectangleCount( discardRectangleCount_ )
28270  , pDiscardRectangles( pDiscardRectangles_ )
28271  {
28272  }
28273 
28275  {
28276  memcpy( this, &rhs, sizeof( PipelineDiscardRectangleStateCreateInfoEXT ) );
28277  }
28278 
28280  {
28281  memcpy( this, &rhs, sizeof( PipelineDiscardRectangleStateCreateInfoEXT ) );
28282  return *this;
28283  }
28285  {
28286  pNext = pNext_;
28287  return *this;
28288  }
28289 
28291  {
28292  flags = flags_;
28293  return *this;
28294  }
28295 
28297  {
28298  discardRectangleMode = discardRectangleMode_;
28299  return *this;
28300  }
28301 
28303  {
28304  discardRectangleCount = discardRectangleCount_;
28305  return *this;
28306  }
28307 
28309  {
28310  pDiscardRectangles = pDiscardRectangles_;
28311  return *this;
28312  }
28313 
28315  {
28316  return *reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(this);
28317  }
28318 
28320  {
28321  return ( sType == rhs.sType )
28322  && ( pNext == rhs.pNext )
28323  && ( flags == rhs.flags )
28326  && ( pDiscardRectangles == rhs.pDiscardRectangles );
28327  }
28328 
28330  {
28331  return !operator==( rhs );
28332  }
28333 
28334  private:
28336 
28337  public:
28338  const void* pNext = nullptr;
28343  };
28344  static_assert( sizeof( PipelineDiscardRectangleStateCreateInfoEXT ) == sizeof( VkPipelineDiscardRectangleStateCreateInfoEXT ), "struct and wrapper have different size!" );
28345 
28347  {
28350  };
28351 
28353 
28355  {
28356  return SubpassDescriptionFlags( bit0 ) | bit1;
28357  }
28358 
28360  {
28361  return ~( SubpassDescriptionFlags( bits ) );
28362  }
28363 
28365  {
28366  enum
28367  {
28369  };
28370  };
28371 
28373  {
28374  SubpassDescription( SubpassDescriptionFlags flags_ = SubpassDescriptionFlags(), PipelineBindPoint pipelineBindPoint_ = PipelineBindPoint::eGraphics, uint32_t inputAttachmentCount_ = 0, const AttachmentReference* pInputAttachments_ = nullptr, uint32_t colorAttachmentCount_ = 0, const AttachmentReference* pColorAttachments_ = nullptr, const AttachmentReference* pResolveAttachments_ = nullptr, const AttachmentReference* pDepthStencilAttachment_ = nullptr, uint32_t preserveAttachmentCount_ = 0, const uint32_t* pPreserveAttachments_ = nullptr )
28375  : flags( flags_ )
28376  , pipelineBindPoint( pipelineBindPoint_ )
28377  , inputAttachmentCount( inputAttachmentCount_ )
28378  , pInputAttachments( pInputAttachments_ )
28379  , colorAttachmentCount( colorAttachmentCount_ )
28380  , pColorAttachments( pColorAttachments_ )
28381  , pResolveAttachments( pResolveAttachments_ )
28382  , pDepthStencilAttachment( pDepthStencilAttachment_ )
28383  , preserveAttachmentCount( preserveAttachmentCount_ )
28384  , pPreserveAttachments( pPreserveAttachments_ )
28385  {
28386  }
28387 
28389  {
28390  memcpy( this, &rhs, sizeof( SubpassDescription ) );
28391  }
28392 
28394  {
28395  memcpy( this, &rhs, sizeof( SubpassDescription ) );
28396  return *this;
28397  }
28399  {
28400  flags = flags_;
28401  return *this;
28402  }
28403 
28405  {
28406  pipelineBindPoint = pipelineBindPoint_;
28407  return *this;
28408  }
28409 
28411  {
28412  inputAttachmentCount = inputAttachmentCount_;
28413  return *this;
28414  }
28415 
28417  {
28418  pInputAttachments = pInputAttachments_;
28419  return *this;
28420  }
28421 
28423  {
28424  colorAttachmentCount = colorAttachmentCount_;
28425  return *this;
28426  }
28427 
28429  {
28430  pColorAttachments = pColorAttachments_;
28431  return *this;
28432  }
28433 
28435  {
28436  pResolveAttachments = pResolveAttachments_;
28437  return *this;
28438  }
28439 
28441  {
28442  pDepthStencilAttachment = pDepthStencilAttachment_;
28443  return *this;
28444  }
28445 
28447  {
28448  preserveAttachmentCount = preserveAttachmentCount_;
28449  return *this;
28450  }
28451 
28452  SubpassDescription& setPPreserveAttachments( const uint32_t* pPreserveAttachments_ )
28453  {
28454  pPreserveAttachments = pPreserveAttachments_;
28455  return *this;
28456  }
28457 
28458  operator const VkSubpassDescription&() const
28459  {
28460  return *reinterpret_cast<const VkSubpassDescription*>(this);
28461  }
28462 
28463  bool operator==( SubpassDescription const& rhs ) const
28464  {
28465  return ( flags == rhs.flags )
28466  && ( pipelineBindPoint == rhs.pipelineBindPoint )
28468  && ( pInputAttachments == rhs.pInputAttachments )
28470  && ( pColorAttachments == rhs.pColorAttachments )
28475  }
28476 
28477  bool operator!=( SubpassDescription const& rhs ) const
28478  {
28479  return !operator==( rhs );
28480  }
28481 
28492  };
28493  static_assert( sizeof( SubpassDescription ) == sizeof( VkSubpassDescription ), "struct and wrapper have different size!" );
28494 
28496  {
28497  RenderPassCreateInfo( RenderPassCreateFlags flags_ = RenderPassCreateFlags(), uint32_t attachmentCount_ = 0, const AttachmentDescription* pAttachments_ = nullptr, uint32_t subpassCount_ = 0, const SubpassDescription* pSubpasses_ = nullptr, uint32_t dependencyCount_ = 0, const SubpassDependency* pDependencies_ = nullptr )
28498  : flags( flags_ )
28499  , attachmentCount( attachmentCount_ )
28500  , pAttachments( pAttachments_ )
28501  , subpassCount( subpassCount_ )
28502  , pSubpasses( pSubpasses_ )
28503  , dependencyCount( dependencyCount_ )
28504  , pDependencies( pDependencies_ )
28505  {
28506  }
28507 
28509  {
28510  memcpy( this, &rhs, sizeof( RenderPassCreateInfo ) );
28511  }
28512 
28514  {
28515  memcpy( this, &rhs, sizeof( RenderPassCreateInfo ) );
28516  return *this;
28517  }
28518  RenderPassCreateInfo& setPNext( const void* pNext_ )
28519  {
28520  pNext = pNext_;
28521  return *this;
28522  }
28523 
28525  {
28526  flags = flags_;
28527  return *this;
28528  }
28529 
28531  {
28532  attachmentCount = attachmentCount_;
28533  return *this;
28534  }
28535 
28537  {
28538  pAttachments = pAttachments_;
28539  return *this;
28540  }
28541 
28543  {
28544  subpassCount = subpassCount_;
28545  return *this;
28546  }
28547 
28549  {
28550  pSubpasses = pSubpasses_;
28551  return *this;
28552  }
28553 
28555  {
28556  dependencyCount = dependencyCount_;
28557  return *this;
28558  }
28559 
28561  {
28562  pDependencies = pDependencies_;
28563  return *this;
28564  }
28565 
28566  operator const VkRenderPassCreateInfo&() const
28567  {
28568  return *reinterpret_cast<const VkRenderPassCreateInfo*>(this);
28569  }
28570 
28571  bool operator==( RenderPassCreateInfo const& rhs ) const
28572  {
28573  return ( sType == rhs.sType )
28574  && ( pNext == rhs.pNext )
28575  && ( flags == rhs.flags )
28576  && ( attachmentCount == rhs.attachmentCount )
28577  && ( pAttachments == rhs.pAttachments )
28578  && ( subpassCount == rhs.subpassCount )
28579  && ( pSubpasses == rhs.pSubpasses )
28580  && ( dependencyCount == rhs.dependencyCount )
28581  && ( pDependencies == rhs.pDependencies );
28582  }
28583 
28584  bool operator!=( RenderPassCreateInfo const& rhs ) const
28585  {
28586  return !operator==( rhs );
28587  }
28588 
28589  private:
28591 
28592  public:
28593  const void* pNext = nullptr;
28601  };
28602  static_assert( sizeof( RenderPassCreateInfo ) == sizeof( VkRenderPassCreateInfo ), "struct and wrapper have different size!" );
28603 
28605  {
28610  };
28611 
28613  {
28615  {
28616  return *reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(this);
28617  }
28618 
28620  {
28621  return ( sType == rhs.sType )
28622  && ( pNext == rhs.pNext )
28624  }
28625 
28627  {
28628  return !operator==( rhs );
28629  }
28630 
28631  private:
28633 
28634  public:
28635  void* pNext = nullptr;
28637  };
28638  static_assert( sizeof( PhysicalDevicePointClippingProperties ) == sizeof( VkPhysicalDevicePointClippingProperties ), "struct and wrapper have different size!" );
28639 
28641 
28643  {
28647  };
28648 
28650  {
28652  : reductionMode( reductionMode_ )
28653  {
28654  }
28655 
28657  {
28658  memcpy( this, &rhs, sizeof( SamplerReductionModeCreateInfoEXT ) );
28659  }
28660 
28662  {
28663  memcpy( this, &rhs, sizeof( SamplerReductionModeCreateInfoEXT ) );
28664  return *this;
28665  }
28667  {
28668  pNext = pNext_;
28669  return *this;
28670  }
28671 
28673  {
28674  reductionMode = reductionMode_;
28675  return *this;
28676  }
28677 
28678  operator const VkSamplerReductionModeCreateInfoEXT&() const
28679  {
28680  return *reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT*>(this);
28681  }
28682 
28684  {
28685  return ( sType == rhs.sType )
28686  && ( pNext == rhs.pNext )
28687  && ( reductionMode == rhs.reductionMode );
28688  }
28689 
28691  {
28692  return !operator==( rhs );
28693  }
28694 
28695  private:
28697 
28698  public:
28699  const void* pNext = nullptr;
28701  };
28702  static_assert( sizeof( SamplerReductionModeCreateInfoEXT ) == sizeof( VkSamplerReductionModeCreateInfoEXT ), "struct and wrapper have different size!" );
28703 
28705  {
28710  };
28711 
28713  {
28715  : domainOrigin( domainOrigin_ )
28716  {
28717  }
28718 
28720  {
28722  }
28723 
28725  {
28727  return *this;
28728  }
28730  {
28731  pNext = pNext_;
28732  return *this;
28733  }
28734 
28736  {
28737  domainOrigin = domainOrigin_;
28738  return *this;
28739  }
28740 
28742  {
28743  return *reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(this);
28744  }
28745 
28747  {
28748  return ( sType == rhs.sType )
28749  && ( pNext == rhs.pNext )
28750  && ( domainOrigin == rhs.domainOrigin );
28751  }
28752 
28754  {
28755  return !operator==( rhs );
28756  }
28757 
28758  private:
28760 
28761  public:
28762  const void* pNext = nullptr;
28764  };
28765  static_assert( sizeof( PipelineTessellationDomainOriginStateCreateInfo ) == sizeof( VkPipelineTessellationDomainOriginStateCreateInfo ), "struct and wrapper have different size!" );
28766 
28768 
28770  {
28781  };
28782 
28784  {
28789  };
28790 
28791  enum class ChromaLocation
28792  {
28797  };
28798 
28800  {
28802  : format( format_ )
28803  , ycbcrModel( ycbcrModel_ )
28804  , ycbcrRange( ycbcrRange_ )
28805  , components( components_ )
28806  , xChromaOffset( xChromaOffset_ )
28807  , yChromaOffset( yChromaOffset_ )
28808  , chromaFilter( chromaFilter_ )
28809  , forceExplicitReconstruction( forceExplicitReconstruction_ )
28810  {
28811  }
28812 
28814  {
28815  memcpy( this, &rhs, sizeof( SamplerYcbcrConversionCreateInfo ) );
28816  }
28817 
28819  {
28820  memcpy( this, &rhs, sizeof( SamplerYcbcrConversionCreateInfo ) );
28821  return *this;
28822  }
28824  {
28825  pNext = pNext_;
28826  return *this;
28827  }
28828 
28830  {
28831  format = format_;
28832  return *this;
28833  }
28834 
28836  {
28837  ycbcrModel = ycbcrModel_;
28838  return *this;
28839  }
28840 
28842  {
28843  ycbcrRange = ycbcrRange_;
28844  return *this;
28845  }
28846 
28848  {
28849  components = components_;
28850  return *this;
28851  }
28852 
28854  {
28855  xChromaOffset = xChromaOffset_;
28856  return *this;
28857  }
28858 
28860  {
28861  yChromaOffset = yChromaOffset_;
28862  return *this;
28863  }
28864 
28866  {
28867  chromaFilter = chromaFilter_;
28868  return *this;
28869  }
28870 
28872  {
28873  forceExplicitReconstruction = forceExplicitReconstruction_;
28874  return *this;
28875  }
28876 
28877  operator const VkSamplerYcbcrConversionCreateInfo&() const
28878  {
28879  return *reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo*>(this);
28880  }
28881 
28883  {
28884  return ( sType == rhs.sType )
28885  && ( pNext == rhs.pNext )
28886  && ( format == rhs.format )
28887  && ( ycbcrModel == rhs.ycbcrModel )
28888  && ( ycbcrRange == rhs.ycbcrRange )
28889  && ( components == rhs.components )
28890  && ( xChromaOffset == rhs.xChromaOffset )
28891  && ( yChromaOffset == rhs.yChromaOffset )
28892  && ( chromaFilter == rhs.chromaFilter )
28894  }
28895 
28897  {
28898  return !operator==( rhs );
28899  }
28900 
28901  private:
28903 
28904  public:
28905  const void* pNext = nullptr;
28914  };
28915  static_assert( sizeof( SamplerYcbcrConversionCreateInfo ) == sizeof( VkSamplerYcbcrConversionCreateInfo ), "struct and wrapper have different size!" );
28916 
28918 
28919 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
28920  struct AndroidHardwareBufferFormatPropertiesANDROID
28921  {
28922  operator const VkAndroidHardwareBufferFormatPropertiesANDROID&() const
28923  {
28924  return *reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(this);
28925  }
28926 
28927  bool operator==( AndroidHardwareBufferFormatPropertiesANDROID const& rhs ) const
28928  {
28929  return ( sType == rhs.sType )
28930  && ( pNext == rhs.pNext )
28931  && ( format == rhs.format )
28932  && ( externalFormat == rhs.externalFormat )
28933  && ( formatFeatures == rhs.formatFeatures )
28934  && ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents )
28935  && ( suggestedYcbcrModel == rhs.suggestedYcbcrModel )
28936  && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange )
28937  && ( suggestedXChromaOffset == rhs.suggestedXChromaOffset )
28938  && ( suggestedYChromaOffset == rhs.suggestedYChromaOffset );
28939  }
28940 
28941  bool operator!=( AndroidHardwareBufferFormatPropertiesANDROID const& rhs ) const
28942  {
28943  return !operator==( rhs );
28944  }
28945 
28946  private:
28948 
28949  public:
28950  void* pNext = nullptr;
28951  Format format;
28952  uint64_t externalFormat;
28953  FormatFeatureFlags formatFeatures;
28954  ComponentMapping samplerYcbcrConversionComponents;
28955  SamplerYcbcrModelConversion suggestedYcbcrModel;
28956  SamplerYcbcrRange suggestedYcbcrRange;
28957  ChromaLocation suggestedXChromaOffset;
28958  ChromaLocation suggestedYChromaOffset;
28959  };
28960  static_assert( sizeof( AndroidHardwareBufferFormatPropertiesANDROID ) == sizeof( VkAndroidHardwareBufferFormatPropertiesANDROID ), "struct and wrapper have different size!" );
28961 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
28962 
28963  enum class BlendOverlapEXT
28964  {
28968  };
28969 
28971  {
28972  PipelineColorBlendAdvancedStateCreateInfoEXT( Bool32 srcPremultiplied_ = 0, Bool32 dstPremultiplied_ = 0, BlendOverlapEXT blendOverlap_ = BlendOverlapEXT::eUncorrelated )
28973  : srcPremultiplied( srcPremultiplied_ )
28974  , dstPremultiplied( dstPremultiplied_ )
28975  , blendOverlap( blendOverlap_ )
28976  {
28977  }
28978 
28980  {
28981  memcpy( this, &rhs, sizeof( PipelineColorBlendAdvancedStateCreateInfoEXT ) );
28982  }
28983 
28985  {
28986  memcpy( this, &rhs, sizeof( PipelineColorBlendAdvancedStateCreateInfoEXT ) );
28987  return *this;
28988  }
28990  {
28991  pNext = pNext_;
28992  return *this;
28993  }
28994 
28996  {
28997  srcPremultiplied = srcPremultiplied_;
28998  return *this;
28999  }
29000 
29002  {
29003  dstPremultiplied = dstPremultiplied_;
29004  return *this;
29005  }
29006 
29008  {
29009  blendOverlap = blendOverlap_;
29010  return *this;
29011  }
29012 
29014  {
29015  return *reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(this);
29016  }
29017 
29019  {
29020  return ( sType == rhs.sType )
29021  && ( pNext == rhs.pNext )
29022  && ( srcPremultiplied == rhs.srcPremultiplied )
29023  && ( dstPremultiplied == rhs.dstPremultiplied )
29024  && ( blendOverlap == rhs.blendOverlap );
29025  }
29026 
29028  {
29029  return !operator==( rhs );
29030  }
29031 
29032  private:
29034 
29035  public:
29036  const void* pNext = nullptr;
29040  };
29041  static_assert( sizeof( PipelineColorBlendAdvancedStateCreateInfoEXT ) == sizeof( VkPipelineColorBlendAdvancedStateCreateInfoEXT ), "struct and wrapper have different size!" );
29042 
29044  {
29049  };
29050 
29052  {
29053  PipelineCoverageModulationStateCreateInfoNV( PipelineCoverageModulationStateCreateFlagsNV flags_ = PipelineCoverageModulationStateCreateFlagsNV(), CoverageModulationModeNV coverageModulationMode_ = CoverageModulationModeNV::eNone, Bool32 coverageModulationTableEnable_ = 0, uint32_t coverageModulationTableCount_ = 0, const float* pCoverageModulationTable_ = nullptr )
29054  : flags( flags_ )
29055  , coverageModulationMode( coverageModulationMode_ )
29056  , coverageModulationTableEnable( coverageModulationTableEnable_ )
29057  , coverageModulationTableCount( coverageModulationTableCount_ )
29058  , pCoverageModulationTable( pCoverageModulationTable_ )
29059  {
29060  }
29061 
29063  {
29064  memcpy( this, &rhs, sizeof( PipelineCoverageModulationStateCreateInfoNV ) );
29065  }
29066 
29068  {
29069  memcpy( this, &rhs, sizeof( PipelineCoverageModulationStateCreateInfoNV ) );
29070  return *this;
29071  }
29073  {
29074  pNext = pNext_;
29075  return *this;
29076  }
29077 
29079  {
29080  flags = flags_;
29081  return *this;
29082  }
29083 
29085  {
29086  coverageModulationMode = coverageModulationMode_;
29087  return *this;
29088  }
29089 
29091  {
29092  coverageModulationTableEnable = coverageModulationTableEnable_;
29093  return *this;
29094  }
29095 
29097  {
29098  coverageModulationTableCount = coverageModulationTableCount_;
29099  return *this;
29100  }
29101 
29103  {
29104  pCoverageModulationTable = pCoverageModulationTable_;
29105  return *this;
29106  }
29107 
29109  {
29110  return *reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(this);
29111  }
29112 
29114  {
29115  return ( sType == rhs.sType )
29116  && ( pNext == rhs.pNext )
29117  && ( flags == rhs.flags )
29122  }
29123 
29125  {
29126  return !operator==( rhs );
29127  }
29128 
29129  private:
29131 
29132  public:
29133  const void* pNext = nullptr;
29139  };
29140  static_assert( sizeof( PipelineCoverageModulationStateCreateInfoNV ) == sizeof( VkPipelineCoverageModulationStateCreateInfoNV ), "struct and wrapper have different size!" );
29141 
29143  {
29145  };
29146 
29148  {
29152  };
29153 
29155  {
29160  };
29161 
29163  {
29165  : globalPriority( globalPriority_ )
29166  {
29167  }
29168 
29170  {
29171  memcpy( this, &rhs, sizeof( DeviceQueueGlobalPriorityCreateInfoEXT ) );
29172  }
29173 
29175  {
29176  memcpy( this, &rhs, sizeof( DeviceQueueGlobalPriorityCreateInfoEXT ) );
29177  return *this;
29178  }
29180  {
29181  pNext = pNext_;
29182  return *this;
29183  }
29184 
29186  {
29187  globalPriority = globalPriority_;
29188  return *this;
29189  }
29190 
29192  {
29193  return *reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(this);
29194  }
29195 
29197  {
29198  return ( sType == rhs.sType )
29199  && ( pNext == rhs.pNext )
29200  && ( globalPriority == rhs.globalPriority );
29201  }
29202 
29204  {
29205  return !operator==( rhs );
29206  }
29207 
29208  private:
29210 
29211  public:
29212  const void* pNext = nullptr;
29214  };
29215  static_assert( sizeof( DeviceQueueGlobalPriorityCreateInfoEXT ) == sizeof( VkDeviceQueueGlobalPriorityCreateInfoEXT ), "struct and wrapper have different size!" );
29216 
29218  {
29223  };
29224 
29226 
29228  {
29229  return DebugUtilsMessageSeverityFlagsEXT( bit0 ) | bit1;
29230  }
29231 
29233  {
29234  return ~( DebugUtilsMessageSeverityFlagsEXT( bits ) );
29235  }
29236 
29238  {
29239  enum
29240  {
29242  };
29243  };
29244 
29246  {
29250  };
29251 
29253 
29255  {
29256  return DebugUtilsMessageTypeFlagsEXT( bit0 ) | bit1;
29257  }
29258 
29260  {
29261  return ~( DebugUtilsMessageTypeFlagsEXT( bits ) );
29262  }
29263 
29265  {
29266  enum
29267  {
29269  };
29270  };
29271 
29273  {
29275  : flags( flags_ )
29276  , messageSeverity( messageSeverity_ )
29277  , messageType( messageType_ )
29278  , pfnUserCallback( pfnUserCallback_ )
29279  , pUserData( pUserData_ )
29280  {
29281  }
29282 
29284  {
29285  memcpy( this, &rhs, sizeof( DebugUtilsMessengerCreateInfoEXT ) );
29286  }
29287 
29289  {
29290  memcpy( this, &rhs, sizeof( DebugUtilsMessengerCreateInfoEXT ) );
29291  return *this;
29292  }
29294  {
29295  pNext = pNext_;
29296  return *this;
29297  }
29298 
29300  {
29301  flags = flags_;
29302  return *this;
29303  }
29304 
29306  {
29307  messageSeverity = messageSeverity_;
29308  return *this;
29309  }
29310 
29312  {
29313  messageType = messageType_;
29314  return *this;
29315  }
29316 
29318  {
29319  pfnUserCallback = pfnUserCallback_;
29320  return *this;
29321  }
29322 
29324  {
29325  pUserData = pUserData_;
29326  return *this;
29327  }
29328 
29329  operator const VkDebugUtilsMessengerCreateInfoEXT&() const
29330  {
29331  return *reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(this);
29332  }
29333 
29335  {
29336  return ( sType == rhs.sType )
29337  && ( pNext == rhs.pNext )
29338  && ( flags == rhs.flags )
29339  && ( messageSeverity == rhs.messageSeverity )
29340  && ( messageType == rhs.messageType )
29341  && ( pfnUserCallback == rhs.pfnUserCallback )
29342  && ( pUserData == rhs.pUserData );
29343  }
29344 
29346  {
29347  return !operator==( rhs );
29348  }
29349 
29350  private:
29352 
29353  public:
29354  const void* pNext = nullptr;
29359  void* pUserData;
29360  };
29361  static_assert( sizeof( DebugUtilsMessengerCreateInfoEXT ) == sizeof( VkDebugUtilsMessengerCreateInfoEXT ), "struct and wrapper have different size!" );
29362 
29364  {
29368  };
29369 
29371  {
29373  : flags( flags_ )
29374  , conservativeRasterizationMode( conservativeRasterizationMode_ )
29375  , extraPrimitiveOverestimationSize( extraPrimitiveOverestimationSize_ )
29376  {
29377  }
29378 
29380  {
29382  }
29383 
29385  {
29387  return *this;
29388  }
29390  {
29391  pNext = pNext_;
29392  return *this;
29393  }
29394 
29396  {
29397  flags = flags_;
29398  return *this;
29399  }
29400 
29402  {
29403  conservativeRasterizationMode = conservativeRasterizationMode_;
29404  return *this;
29405  }
29406 
29408  {
29409  extraPrimitiveOverestimationSize = extraPrimitiveOverestimationSize_;
29410  return *this;
29411  }
29412 
29414  {
29415  return *reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(this);
29416  }
29417 
29419  {
29420  return ( sType == rhs.sType )
29421  && ( pNext == rhs.pNext )
29422  && ( flags == rhs.flags )
29425  }
29426 
29428  {
29429  return !operator==( rhs );
29430  }
29431 
29432  private:
29434 
29435  public:
29436  const void* pNext = nullptr;
29440  };
29441  static_assert( sizeof( PipelineRasterizationConservativeStateCreateInfoEXT ) == sizeof( VkPipelineRasterizationConservativeStateCreateInfoEXT ), "struct and wrapper have different size!" );
29442 
29444  {
29449  };
29450 
29452 
29454  {
29455  return DescriptorBindingFlagsEXT( bit0 ) | bit1;
29456  }
29457 
29459  {
29460  return ~( DescriptorBindingFlagsEXT( bits ) );
29461  }
29462 
29464  {
29465  enum
29466  {
29468  };
29469  };
29470 
29472  {
29473  DescriptorSetLayoutBindingFlagsCreateInfoEXT( uint32_t bindingCount_ = 0, const DescriptorBindingFlagsEXT* pBindingFlags_ = nullptr )
29474  : bindingCount( bindingCount_ )
29475  , pBindingFlags( pBindingFlags_ )
29476  {
29477  }
29478 
29480  {
29481  memcpy( this, &rhs, sizeof( DescriptorSetLayoutBindingFlagsCreateInfoEXT ) );
29482  }
29483 
29485  {
29486  memcpy( this, &rhs, sizeof( DescriptorSetLayoutBindingFlagsCreateInfoEXT ) );
29487  return *this;
29488  }
29490  {
29491  pNext = pNext_;
29492  return *this;
29493  }
29494 
29496  {
29497  bindingCount = bindingCount_;
29498  return *this;
29499  }
29500 
29502  {
29503  pBindingFlags = pBindingFlags_;
29504  return *this;
29505  }
29506 
29508  {
29509  return *reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(this);
29510  }
29511 
29513  {
29514  return ( sType == rhs.sType )
29515  && ( pNext == rhs.pNext )
29516  && ( bindingCount == rhs.bindingCount )
29517  && ( pBindingFlags == rhs.pBindingFlags );
29518  }
29519 
29521  {
29522  return !operator==( rhs );
29523  }
29524 
29525  private:
29527 
29528  public:
29529  const void* pNext = nullptr;
29532  };
29533  static_assert( sizeof( DescriptorSetLayoutBindingFlagsCreateInfoEXT ) == sizeof( VkDescriptorSetLayoutBindingFlagsCreateInfoEXT ), "struct and wrapper have different size!" );
29534 
29535  template<typename Dispatch = DispatchLoaderStatic>
29536  Result enumerateInstanceVersion( uint32_t* pApiVersion, Dispatch const &d = Dispatch() );
29537 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29538  template<typename Dispatch = DispatchLoaderStatic>
29539  ResultValueType<uint32_t>::type enumerateInstanceVersion(Dispatch const &d = Dispatch() );
29540 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29541 
29542  template<typename Dispatch>
29543  VULKAN_HPP_INLINE Result enumerateInstanceVersion( uint32_t* pApiVersion, Dispatch const &d)
29544  {
29545  return static_cast<Result>( d.vkEnumerateInstanceVersion( pApiVersion ) );
29546  }
29547 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29548  template<typename Dispatch>
29550  {
29551  uint32_t apiVersion;
29552  Result result = static_cast<Result>( d.vkEnumerateInstanceVersion( &apiVersion ) );
29553  return createResultValue( result, apiVersion, VULKAN_HPP_NAMESPACE_STRING"::enumerateInstanceVersion" );
29554  }
29555 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29556 
29557 
29558  template<typename Dispatch = DispatchLoaderStatic>
29559  Result enumerateInstanceLayerProperties( uint32_t* pPropertyCount, LayerProperties* pProperties, Dispatch const &d = Dispatch() );
29560 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29561  template <typename Allocator = std::allocator<LayerProperties>, typename Dispatch = DispatchLoaderStatic>
29562  typename ResultValueType<std::vector<LayerProperties,Allocator>>::type enumerateInstanceLayerProperties(Dispatch const &d = Dispatch() );
29563 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29564 
29565  template<typename Dispatch>
29566  VULKAN_HPP_INLINE Result enumerateInstanceLayerProperties( uint32_t* pPropertyCount, LayerProperties* pProperties, Dispatch const &d)
29567  {
29568  return static_cast<Result>( d.vkEnumerateInstanceLayerProperties( pPropertyCount, reinterpret_cast<VkLayerProperties*>( pProperties ) ) );
29569  }
29570 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29571  template <typename Allocator, typename Dispatch>
29573  {
29574  std::vector<LayerProperties,Allocator> properties;
29575  uint32_t propertyCount;
29576  Result result;
29577  do
29578  {
29579  result = static_cast<Result>( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) );
29580  if ( ( result == Result::eSuccess ) && propertyCount )
29581  {
29582  properties.resize( propertyCount );
29583  result = static_cast<Result>( d.vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast<VkLayerProperties*>( properties.data() ) ) );
29584  }
29585  } while ( result == Result::eIncomplete );
29586  VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
29587  properties.resize( propertyCount );
29588  return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::enumerateInstanceLayerProperties" );
29589  }
29590 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29591 
29592 
29593  template<typename Dispatch = DispatchLoaderStatic>
29594  Result enumerateInstanceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, ExtensionProperties* pProperties, Dispatch const &d = Dispatch() );
29595 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29596  template <typename Allocator = std::allocator<ExtensionProperties>, typename Dispatch = DispatchLoaderStatic>
29597  typename ResultValueType<std::vector<ExtensionProperties,Allocator>>::type enumerateInstanceExtensionProperties( Optional<const std::string> layerName = nullptr, Dispatch const &d = Dispatch() );
29598 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29599 
29600  template<typename Dispatch>
29601  VULKAN_HPP_INLINE Result enumerateInstanceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, ExtensionProperties* pProperties, Dispatch const &d)
29602  {
29603  return static_cast<Result>( d.vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, reinterpret_cast<VkExtensionProperties*>( pProperties ) ) );
29604  }
29605 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29606  template <typename Allocator, typename Dispatch>
29608  {
29609  std::vector<ExtensionProperties,Allocator> properties;
29610  uint32_t propertyCount;
29611  Result result;
29612  do
29613  {
29614  result = static_cast<Result>( d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) );
29615  if ( ( result == Result::eSuccess ) && propertyCount )
29616  {
29617  properties.resize( propertyCount );
29618  result = static_cast<Result>( d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast<VkExtensionProperties*>( properties.data() ) ) );
29619  }
29620  } while ( result == Result::eIncomplete );
29621  VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
29622  properties.resize( propertyCount );
29623  return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::enumerateInstanceExtensionProperties" );
29624  }
29625 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29626 
29627 
29628  // forward declarations
29629  struct CmdProcessCommandsInfoNVX;
29630 
29632  {
29633  public:
29636  {}
29637 
29640  {}
29641 
29642  VULKAN_HPP_TYPESAFE_EXPLICIT CommandBuffer( VkCommandBuffer commandBuffer )
29643  : m_commandBuffer( commandBuffer )
29644  {}
29645 
29646 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
29647  CommandBuffer & operator=(VkCommandBuffer commandBuffer)
29648  {
29649  m_commandBuffer = commandBuffer;
29650  return *this;
29651  }
29652 #endif
29653 
29654  CommandBuffer & operator=( std::nullptr_t )
29655  {
29657  return *this;
29658  }
29659 
29660  bool operator==( CommandBuffer const & rhs ) const
29661  {
29662  return m_commandBuffer == rhs.m_commandBuffer;
29663  }
29664 
29665  bool operator!=(CommandBuffer const & rhs ) const
29666  {
29667  return m_commandBuffer != rhs.m_commandBuffer;
29668  }
29669 
29670  bool operator<(CommandBuffer const & rhs ) const
29671  {
29672  return m_commandBuffer < rhs.m_commandBuffer;
29673  }
29674 
29675  template<typename Dispatch = DispatchLoaderStatic>
29676  Result begin( const CommandBufferBeginInfo* pBeginInfo, Dispatch const &d = Dispatch() ) const;
29677 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29678  template<typename Dispatch = DispatchLoaderStatic>
29679  ResultValueType<void>::type begin( const CommandBufferBeginInfo & beginInfo, Dispatch const &d = Dispatch() ) const;
29680 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29681 
29682 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
29683  template<typename Dispatch = DispatchLoaderStatic>
29684  Result end(Dispatch const &d = Dispatch() ) const;
29685 #else
29686  template<typename Dispatch = DispatchLoaderStatic>
29687  ResultValueType<void>::type end(Dispatch const &d = Dispatch() ) const;
29688 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29689 
29690 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
29691  template<typename Dispatch = DispatchLoaderStatic>
29692  Result reset( CommandBufferResetFlags flags, Dispatch const &d = Dispatch() ) const;
29693 #else
29694  template<typename Dispatch = DispatchLoaderStatic>
29695  ResultValueType<void>::type reset( CommandBufferResetFlags flags, Dispatch const &d = Dispatch() ) const;
29696 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29697 
29698  template<typename Dispatch = DispatchLoaderStatic>
29699  void bindPipeline( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, Dispatch const &d = Dispatch() ) const;
29700 
29701  template<typename Dispatch = DispatchLoaderStatic>
29702  void setViewport( uint32_t firstViewport, uint32_t viewportCount, const Viewport* pViewports, Dispatch const &d = Dispatch() ) const;
29703 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29704  template<typename Dispatch = DispatchLoaderStatic>
29705  void setViewport( uint32_t firstViewport, ArrayProxy<const Viewport> viewports, Dispatch const &d = Dispatch() ) const;
29706 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29707 
29708  template<typename Dispatch = DispatchLoaderStatic>
29709  void setScissor( uint32_t firstScissor, uint32_t scissorCount, const Rect2D* pScissors, Dispatch const &d = Dispatch() ) const;
29710 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29711  template<typename Dispatch = DispatchLoaderStatic>
29712  void setScissor( uint32_t firstScissor, ArrayProxy<const Rect2D> scissors, Dispatch const &d = Dispatch() ) const;
29713 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29714 
29715  template<typename Dispatch = DispatchLoaderStatic>
29716  void setLineWidth( float lineWidth, Dispatch const &d = Dispatch() ) const;
29717 
29718  template<typename Dispatch = DispatchLoaderStatic>
29719  void setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, Dispatch const &d = Dispatch() ) const;
29720 
29721  template<typename Dispatch = DispatchLoaderStatic>
29722  void setBlendConstants( const float blendConstants[4], Dispatch const &d = Dispatch() ) const;
29723 
29724  template<typename Dispatch = DispatchLoaderStatic>
29725  void setDepthBounds( float minDepthBounds, float maxDepthBounds, Dispatch const &d = Dispatch() ) const;
29726 
29727  template<typename Dispatch = DispatchLoaderStatic>
29728  void setStencilCompareMask( StencilFaceFlags faceMask, uint32_t compareMask, Dispatch const &d = Dispatch() ) const;
29729 
29730  template<typename Dispatch = DispatchLoaderStatic>
29731  void setStencilWriteMask( StencilFaceFlags faceMask, uint32_t writeMask, Dispatch const &d = Dispatch() ) const;
29732 
29733  template<typename Dispatch = DispatchLoaderStatic>
29734  void setStencilReference( StencilFaceFlags faceMask, uint32_t reference, Dispatch const &d = Dispatch() ) const;
29735 
29736  template<typename Dispatch = DispatchLoaderStatic>
29737  void bindDescriptorSets( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const DescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets, Dispatch const &d = Dispatch() ) const;
29738 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29739  template<typename Dispatch = DispatchLoaderStatic>
29740  void bindDescriptorSets( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, ArrayProxy<const DescriptorSet> descriptorSets, ArrayProxy<const uint32_t> dynamicOffsets, Dispatch const &d = Dispatch() ) const;
29741 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29742 
29743  template<typename Dispatch = DispatchLoaderStatic>
29744  void bindIndexBuffer( Buffer buffer, DeviceSize offset, IndexType indexType, Dispatch const &d = Dispatch() ) const;
29745 
29746  template<typename Dispatch = DispatchLoaderStatic>
29747  void bindVertexBuffers( uint32_t firstBinding, uint32_t bindingCount, const Buffer* pBuffers, const DeviceSize* pOffsets, Dispatch const &d = Dispatch() ) const;
29748 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29749  template<typename Dispatch = DispatchLoaderStatic>
29750  void bindVertexBuffers( uint32_t firstBinding, ArrayProxy<const Buffer> buffers, ArrayProxy<const DeviceSize> offsets, Dispatch const &d = Dispatch() ) const;
29751 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29752 
29753  template<typename Dispatch = DispatchLoaderStatic>
29754  void draw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance, Dispatch const &d = Dispatch() ) const;
29755 
29756  template<typename Dispatch = DispatchLoaderStatic>
29757  void drawIndexed( uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance, Dispatch const &d = Dispatch() ) const;
29758 
29759  template<typename Dispatch = DispatchLoaderStatic>
29760  void drawIndirect( Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const &d = Dispatch() ) const;
29761 
29762  template<typename Dispatch = DispatchLoaderStatic>
29763  void drawIndexedIndirect( Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const &d = Dispatch() ) const;
29764 
29765  template<typename Dispatch = DispatchLoaderStatic>
29766  void dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d = Dispatch() ) const;
29767 
29768  template<typename Dispatch = DispatchLoaderStatic>
29769  void dispatchIndirect( Buffer buffer, DeviceSize offset, Dispatch const &d = Dispatch() ) const;
29770 
29771  template<typename Dispatch = DispatchLoaderStatic>
29772  void copyBuffer( Buffer srcBuffer, Buffer dstBuffer, uint32_t regionCount, const BufferCopy* pRegions, Dispatch const &d = Dispatch() ) const;
29773 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29774  template<typename Dispatch = DispatchLoaderStatic>
29775  void copyBuffer( Buffer srcBuffer, Buffer dstBuffer, ArrayProxy<const BufferCopy> regions, Dispatch const &d = Dispatch() ) const;
29776 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29777 
29778  template<typename Dispatch = DispatchLoaderStatic>
29779  void copyImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageCopy* pRegions, Dispatch const &d = Dispatch() ) const;
29780 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29781  template<typename Dispatch = DispatchLoaderStatic>
29782  void copyImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, ArrayProxy<const ImageCopy> regions, Dispatch const &d = Dispatch() ) const;
29783 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29784 
29785  template<typename Dispatch = DispatchLoaderStatic>
29786  void blitImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageBlit* pRegions, Filter filter, Dispatch const &d = Dispatch() ) const;
29787 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29788  template<typename Dispatch = DispatchLoaderStatic>
29789  void blitImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, ArrayProxy<const ImageBlit> regions, Filter filter, Dispatch const &d = Dispatch() ) const;
29790 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29791 
29792  template<typename Dispatch = DispatchLoaderStatic>
29793  void copyBufferToImage( Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const BufferImageCopy* pRegions, Dispatch const &d = Dispatch() ) const;
29794 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29795  template<typename Dispatch = DispatchLoaderStatic>
29796  void copyBufferToImage( Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, ArrayProxy<const BufferImageCopy> regions, Dispatch const &d = Dispatch() ) const;
29797 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29798 
29799  template<typename Dispatch = DispatchLoaderStatic>
29800  void copyImageToBuffer( Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, uint32_t regionCount, const BufferImageCopy* pRegions, Dispatch const &d = Dispatch() ) const;
29801 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29802  template<typename Dispatch = DispatchLoaderStatic>
29803  void copyImageToBuffer( Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, ArrayProxy<const BufferImageCopy> regions, Dispatch const &d = Dispatch() ) const;
29804 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29805 
29806  template<typename Dispatch = DispatchLoaderStatic>
29807  void updateBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize dataSize, const void* pData, Dispatch const &d = Dispatch() ) const;
29808 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29809  template <typename T, typename Dispatch = DispatchLoaderStatic>
29810  void updateBuffer( Buffer dstBuffer, DeviceSize dstOffset, ArrayProxy<const T> data, Dispatch const &d = Dispatch() ) const;
29811 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29812 
29813  template<typename Dispatch = DispatchLoaderStatic>
29814  void fillBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize size, uint32_t data, Dispatch const &d = Dispatch() ) const;
29815 
29816  template<typename Dispatch = DispatchLoaderStatic>
29817  void clearColorImage( Image image, ImageLayout imageLayout, const ClearColorValue* pColor, uint32_t rangeCount, const ImageSubresourceRange* pRanges, Dispatch const &d = Dispatch() ) const;
29818 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29819  template<typename Dispatch = DispatchLoaderStatic>
29820  void clearColorImage( Image image, ImageLayout imageLayout, const ClearColorValue & color, ArrayProxy<const ImageSubresourceRange> ranges, Dispatch const &d = Dispatch() ) const;
29821 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29822 
29823  template<typename Dispatch = DispatchLoaderStatic>
29824  void clearDepthStencilImage( Image image, ImageLayout imageLayout, const ClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const ImageSubresourceRange* pRanges, Dispatch const &d = Dispatch() ) const;
29825 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29826  template<typename Dispatch = DispatchLoaderStatic>
29827  void clearDepthStencilImage( Image image, ImageLayout imageLayout, const ClearDepthStencilValue & depthStencil, ArrayProxy<const ImageSubresourceRange> ranges, Dispatch const &d = Dispatch() ) const;
29828 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29829 
29830  template<typename Dispatch = DispatchLoaderStatic>
29831  void clearAttachments( uint32_t attachmentCount, const ClearAttachment* pAttachments, uint32_t rectCount, const ClearRect* pRects, Dispatch const &d = Dispatch() ) const;
29832 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29833  template<typename Dispatch = DispatchLoaderStatic>
29834  void clearAttachments( ArrayProxy<const ClearAttachment> attachments, ArrayProxy<const ClearRect> rects, Dispatch const &d = Dispatch() ) const;
29835 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29836 
29837  template<typename Dispatch = DispatchLoaderStatic>
29838  void resolveImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageResolve* pRegions, Dispatch const &d = Dispatch() ) const;
29839 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29840  template<typename Dispatch = DispatchLoaderStatic>
29841  void resolveImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, ArrayProxy<const ImageResolve> regions, Dispatch const &d = Dispatch() ) const;
29842 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29843 
29844  template<typename Dispatch = DispatchLoaderStatic>
29845  void setEvent( Event event, PipelineStageFlags stageMask, Dispatch const &d = Dispatch() ) const;
29846 
29847  template<typename Dispatch = DispatchLoaderStatic>
29848  void resetEvent( Event event, PipelineStageFlags stageMask, Dispatch const &d = Dispatch() ) const;
29849 
29850  template<typename Dispatch = DispatchLoaderStatic>
29851  void waitEvents( uint32_t eventCount, const Event* pEvents, PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const MemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const BufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const ImageMemoryBarrier* pImageMemoryBarriers, Dispatch const &d = Dispatch() ) const;
29852 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29853  template<typename Dispatch = DispatchLoaderStatic>
29854  void waitEvents( ArrayProxy<const Event> events, PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, ArrayProxy<const MemoryBarrier> memoryBarriers, ArrayProxy<const BufferMemoryBarrier> bufferMemoryBarriers, ArrayProxy<const ImageMemoryBarrier> imageMemoryBarriers, Dispatch const &d = Dispatch() ) const;
29855 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29856 
29857  template<typename Dispatch = DispatchLoaderStatic>
29858  void pipelineBarrier( PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const MemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const BufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const ImageMemoryBarrier* pImageMemoryBarriers, Dispatch const &d = Dispatch() ) const;
29859 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29860  template<typename Dispatch = DispatchLoaderStatic>
29861  void pipelineBarrier( PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, ArrayProxy<const MemoryBarrier> memoryBarriers, ArrayProxy<const BufferMemoryBarrier> bufferMemoryBarriers, ArrayProxy<const ImageMemoryBarrier> imageMemoryBarriers, Dispatch const &d = Dispatch() ) const;
29862 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29863 
29864  template<typename Dispatch = DispatchLoaderStatic>
29865  void beginQuery( QueryPool queryPool, uint32_t query, QueryControlFlags flags, Dispatch const &d = Dispatch() ) const;
29866 
29867  template<typename Dispatch = DispatchLoaderStatic>
29868  void endQuery( QueryPool queryPool, uint32_t query, Dispatch const &d = Dispatch() ) const;
29869 
29870  template<typename Dispatch = DispatchLoaderStatic>
29871  void resetQueryPool( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const &d = Dispatch() ) const;
29872 
29873  template<typename Dispatch = DispatchLoaderStatic>
29874  void writeTimestamp( PipelineStageFlagBits pipelineStage, QueryPool queryPool, uint32_t query, Dispatch const &d = Dispatch() ) const;
29875 
29876  template<typename Dispatch = DispatchLoaderStatic>
29877  void copyQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Buffer dstBuffer, DeviceSize dstOffset, DeviceSize stride, QueryResultFlags flags, Dispatch const &d = Dispatch() ) const;
29878 
29879  template<typename Dispatch = DispatchLoaderStatic>
29880  void pushConstants( PipelineLayout layout, ShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues, Dispatch const &d = Dispatch() ) const;
29881 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29882  template <typename T, typename Dispatch = DispatchLoaderStatic>
29883  void pushConstants( PipelineLayout layout, ShaderStageFlags stageFlags, uint32_t offset, ArrayProxy<const T> values, Dispatch const &d = Dispatch() ) const;
29884 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29885 
29886  template<typename Dispatch = DispatchLoaderStatic>
29887  void beginRenderPass( const RenderPassBeginInfo* pRenderPassBegin, SubpassContents contents, Dispatch const &d = Dispatch() ) const;
29888 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29889  template<typename Dispatch = DispatchLoaderStatic>
29890  void beginRenderPass( const RenderPassBeginInfo & renderPassBegin, SubpassContents contents, Dispatch const &d = Dispatch() ) const;
29891 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29892 
29893  template<typename Dispatch = DispatchLoaderStatic>
29894  void nextSubpass( SubpassContents contents, Dispatch const &d = Dispatch() ) const;
29895 
29896  template<typename Dispatch = DispatchLoaderStatic>
29897  void endRenderPass(Dispatch const &d = Dispatch() ) const;
29898 
29899  template<typename Dispatch = DispatchLoaderStatic>
29900  void executeCommands( uint32_t commandBufferCount, const CommandBuffer* pCommandBuffers, Dispatch const &d = Dispatch() ) const;
29901 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29902  template<typename Dispatch = DispatchLoaderStatic>
29903  void executeCommands( ArrayProxy<const CommandBuffer> commandBuffers, Dispatch const &d = Dispatch() ) const;
29904 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29905 
29906  template<typename Dispatch = DispatchLoaderStatic>
29907  void debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT* pMarkerInfo, Dispatch const &d = Dispatch() ) const;
29908 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29909  template<typename Dispatch = DispatchLoaderStatic>
29910  void debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT & markerInfo, Dispatch const &d = Dispatch() ) const;
29911 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29912 
29913  template<typename Dispatch = DispatchLoaderStatic>
29914  void debugMarkerEndEXT(Dispatch const &d = Dispatch() ) const;
29915 
29916  template<typename Dispatch = DispatchLoaderStatic>
29917  void debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT* pMarkerInfo, Dispatch const &d = Dispatch() ) const;
29918 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29919  template<typename Dispatch = DispatchLoaderStatic>
29920  void debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT & markerInfo, Dispatch const &d = Dispatch() ) const;
29921 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29922 
29923  template<typename Dispatch = DispatchLoaderStatic>
29924  void drawIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d = Dispatch() ) const;
29925 
29926  template<typename Dispatch = DispatchLoaderStatic>
29927  void drawIndexedIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d = Dispatch() ) const;
29928 
29929  template<typename Dispatch = DispatchLoaderStatic>
29930  void processCommandsNVX( const CmdProcessCommandsInfoNVX* pProcessCommandsInfo, Dispatch const &d = Dispatch() ) const;
29931 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29932  template<typename Dispatch = DispatchLoaderStatic>
29933  void processCommandsNVX( const CmdProcessCommandsInfoNVX & processCommandsInfo, Dispatch const &d = Dispatch() ) const;
29934 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29935 
29936  template<typename Dispatch = DispatchLoaderStatic>
29937  void reserveSpaceForCommandsNVX( const CmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo, Dispatch const &d = Dispatch() ) const;
29938 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29939  template<typename Dispatch = DispatchLoaderStatic>
29940  void reserveSpaceForCommandsNVX( const CmdReserveSpaceForCommandsInfoNVX & reserveSpaceInfo, Dispatch const &d = Dispatch() ) const;
29941 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29942 
29943  template<typename Dispatch = DispatchLoaderStatic>
29944  void pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const WriteDescriptorSet* pDescriptorWrites, Dispatch const &d = Dispatch() ) const;
29945 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29946  template<typename Dispatch = DispatchLoaderStatic>
29947  void pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, ArrayProxy<const WriteDescriptorSet> descriptorWrites, Dispatch const &d = Dispatch() ) const;
29948 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29949 
29950  template<typename Dispatch = DispatchLoaderStatic>
29951  void setDeviceMask( uint32_t deviceMask, Dispatch const &d = Dispatch() ) const;
29952 
29953  template<typename Dispatch = DispatchLoaderStatic>
29954  void setDeviceMaskKHR( uint32_t deviceMask, Dispatch const &d = Dispatch() ) const;
29955 
29956  template<typename Dispatch = DispatchLoaderStatic>
29957  void dispatchBase( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d = Dispatch() ) const;
29958 
29959  template<typename Dispatch = DispatchLoaderStatic>
29960  void dispatchBaseKHR( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d = Dispatch() ) const;
29961 
29962  template<typename Dispatch = DispatchLoaderStatic>
29963  void pushDescriptorSetWithTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, const void* pData, Dispatch const &d = Dispatch() ) const;
29964 
29965  template<typename Dispatch = DispatchLoaderStatic>
29966  void setViewportWScalingNV( uint32_t firstViewport, uint32_t viewportCount, const ViewportWScalingNV* pViewportWScalings, Dispatch const &d = Dispatch() ) const;
29967 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29968  template<typename Dispatch = DispatchLoaderStatic>
29969  void setViewportWScalingNV( uint32_t firstViewport, ArrayProxy<const ViewportWScalingNV> viewportWScalings, Dispatch const &d = Dispatch() ) const;
29970 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29971 
29972  template<typename Dispatch = DispatchLoaderStatic>
29973  void setDiscardRectangleEXT( uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const Rect2D* pDiscardRectangles, Dispatch const &d = Dispatch() ) const;
29974 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29975  template<typename Dispatch = DispatchLoaderStatic>
29976  void setDiscardRectangleEXT( uint32_t firstDiscardRectangle, ArrayProxy<const Rect2D> discardRectangles, Dispatch const &d = Dispatch() ) const;
29977 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29978 
29979  template<typename Dispatch = DispatchLoaderStatic>
29980  void setSampleLocationsEXT( const SampleLocationsInfoEXT* pSampleLocationsInfo, Dispatch const &d = Dispatch() ) const;
29981 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29982  template<typename Dispatch = DispatchLoaderStatic>
29983  void setSampleLocationsEXT( const SampleLocationsInfoEXT & sampleLocationsInfo, Dispatch const &d = Dispatch() ) const;
29984 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29985 
29986  template<typename Dispatch = DispatchLoaderStatic>
29987  void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT* pLabelInfo, Dispatch const &d = Dispatch() ) const;
29988 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29989  template<typename Dispatch = DispatchLoaderStatic>
29990  void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d = Dispatch() ) const;
29991 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29992 
29993  template<typename Dispatch = DispatchLoaderStatic>
29994  void endDebugUtilsLabelEXT(Dispatch const &d = Dispatch() ) const;
29995 
29996  template<typename Dispatch = DispatchLoaderStatic>
29997  void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT* pLabelInfo, Dispatch const &d = Dispatch() ) const;
29998 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
29999  template<typename Dispatch = DispatchLoaderStatic>
30000  void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d = Dispatch() ) const;
30001 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30002 
30003  template<typename Dispatch = DispatchLoaderStatic>
30004  void writeBufferMarkerAMD( PipelineStageFlagBits pipelineStage, Buffer dstBuffer, DeviceSize dstOffset, uint32_t marker, Dispatch const &d = Dispatch() ) const;
30005 
30006 
30007 
30008  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkCommandBuffer() const
30009  {
30010  return m_commandBuffer;
30011  }
30012 
30013  explicit operator bool() const
30014  {
30015  return m_commandBuffer != VK_NULL_HANDLE;
30016  }
30017 
30018  bool operator!() const
30019  {
30020  return m_commandBuffer == VK_NULL_HANDLE;
30021  }
30022 
30023  private:
30024  VkCommandBuffer m_commandBuffer;
30025  };
30026 
30027  static_assert( sizeof( CommandBuffer ) == sizeof( VkCommandBuffer ), "handle and wrapper have different size!" );
30028 
30029  template<typename Dispatch>
30030  VULKAN_HPP_INLINE Result CommandBuffer::begin( const CommandBufferBeginInfo* pBeginInfo, Dispatch const &d) const
30031  {
30032  return static_cast<Result>( d.vkBeginCommandBuffer( m_commandBuffer, reinterpret_cast<const VkCommandBufferBeginInfo*>( pBeginInfo ) ) );
30033  }
30034 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30035  template<typename Dispatch>
30037  {
30038  Result result = static_cast<Result>( d.vkBeginCommandBuffer( m_commandBuffer, reinterpret_cast<const VkCommandBufferBeginInfo*>( &beginInfo ) ) );
30039  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::CommandBuffer::begin" );
30040  }
30041 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30042 
30043 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30044  template<typename Dispatch>
30045  VULKAN_HPP_INLINE Result CommandBuffer::end(Dispatch const &d) const
30046  {
30047  return static_cast<Result>( d.vkEndCommandBuffer( m_commandBuffer ) );
30048  }
30049 #else
30050  template<typename Dispatch>
30052  {
30053  Result result = static_cast<Result>( d.vkEndCommandBuffer( m_commandBuffer ) );
30054  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::CommandBuffer::end" );
30055  }
30056 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30057 
30058 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30059  template<typename Dispatch>
30061  {
30062  return static_cast<Result>( d.vkResetCommandBuffer( m_commandBuffer, static_cast<VkCommandBufferResetFlags>( flags ) ) );
30063  }
30064 #else
30065  template<typename Dispatch>
30067  {
30068  Result result = static_cast<Result>( d.vkResetCommandBuffer( m_commandBuffer, static_cast<VkCommandBufferResetFlags>( flags ) ) );
30069  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::CommandBuffer::reset" );
30070  }
30071 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30072 
30073 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30074  template<typename Dispatch>
30075  VULKAN_HPP_INLINE void CommandBuffer::bindPipeline( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, Dispatch const &d) const
30076  {
30077  d.vkCmdBindPipeline( m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ) );
30078  }
30079 #else
30080  template<typename Dispatch>
30081  VULKAN_HPP_INLINE void CommandBuffer::bindPipeline( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, Dispatch const &d ) const
30082  {
30083  d.vkCmdBindPipeline( m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipeline>( pipeline ) );
30084  }
30085 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30086 
30087  template<typename Dispatch>
30088  VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t firstViewport, uint32_t viewportCount, const Viewport* pViewports, Dispatch const &d) const
30089  {
30090  d.vkCmdSetViewport( m_commandBuffer, firstViewport, viewportCount, reinterpret_cast<const VkViewport*>( pViewports ) );
30091  }
30092 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30093  template<typename Dispatch>
30094  VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t firstViewport, ArrayProxy<const Viewport> viewports, Dispatch const &d ) const
30095  {
30096  d.vkCmdSetViewport( m_commandBuffer, firstViewport, viewports.size() , reinterpret_cast<const VkViewport*>( viewports.data() ) );
30097  }
30098 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30099 
30100  template<typename Dispatch>
30101  VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t firstScissor, uint32_t scissorCount, const Rect2D* pScissors, Dispatch const &d) const
30102  {
30103  d.vkCmdSetScissor( m_commandBuffer, firstScissor, scissorCount, reinterpret_cast<const VkRect2D*>( pScissors ) );
30104  }
30105 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30106  template<typename Dispatch>
30107  VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t firstScissor, ArrayProxy<const Rect2D> scissors, Dispatch const &d ) const
30108  {
30109  d.vkCmdSetScissor( m_commandBuffer, firstScissor, scissors.size() , reinterpret_cast<const VkRect2D*>( scissors.data() ) );
30110  }
30111 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30112 
30113 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30114  template<typename Dispatch>
30115  VULKAN_HPP_INLINE void CommandBuffer::setLineWidth( float lineWidth, Dispatch const &d) const
30116  {
30117  d.vkCmdSetLineWidth( m_commandBuffer, lineWidth );
30118  }
30119 #else
30120  template<typename Dispatch>
30121  VULKAN_HPP_INLINE void CommandBuffer::setLineWidth( float lineWidth, Dispatch const &d ) const
30122  {
30123  d.vkCmdSetLineWidth( m_commandBuffer, lineWidth );
30124  }
30125 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30126 
30127 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30128  template<typename Dispatch>
30129  VULKAN_HPP_INLINE void CommandBuffer::setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, Dispatch const &d) const
30130  {
30131  d.vkCmdSetDepthBias( m_commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
30132  }
30133 #else
30134  template<typename Dispatch>
30135  VULKAN_HPP_INLINE void CommandBuffer::setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, Dispatch const &d ) const
30136  {
30137  d.vkCmdSetDepthBias( m_commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
30138  }
30139 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30140 
30141 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30142  template<typename Dispatch>
30143  VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( const float blendConstants[4], Dispatch const &d) const
30144  {
30145  d.vkCmdSetBlendConstants( m_commandBuffer, blendConstants );
30146  }
30147 #else
30148  template<typename Dispatch>
30149  VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( const float blendConstants[4], Dispatch const &d ) const
30150  {
30151  d.vkCmdSetBlendConstants( m_commandBuffer, blendConstants );
30152  }
30153 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30154 
30155 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30156  template<typename Dispatch>
30157  VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds( float minDepthBounds, float maxDepthBounds, Dispatch const &d) const
30158  {
30159  d.vkCmdSetDepthBounds( m_commandBuffer, minDepthBounds, maxDepthBounds );
30160  }
30161 #else
30162  template<typename Dispatch>
30163  VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds( float minDepthBounds, float maxDepthBounds, Dispatch const &d ) const
30164  {
30165  d.vkCmdSetDepthBounds( m_commandBuffer, minDepthBounds, maxDepthBounds );
30166  }
30167 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30168 
30169 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30170  template<typename Dispatch>
30171  VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask( StencilFaceFlags faceMask, uint32_t compareMask, Dispatch const &d) const
30172  {
30173  d.vkCmdSetStencilCompareMask( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), compareMask );
30174  }
30175 #else
30176  template<typename Dispatch>
30177  VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask( StencilFaceFlags faceMask, uint32_t compareMask, Dispatch const &d ) const
30178  {
30179  d.vkCmdSetStencilCompareMask( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), compareMask );
30180  }
30181 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30182 
30183 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30184  template<typename Dispatch>
30185  VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask( StencilFaceFlags faceMask, uint32_t writeMask, Dispatch const &d) const
30186  {
30187  d.vkCmdSetStencilWriteMask( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), writeMask );
30188  }
30189 #else
30190  template<typename Dispatch>
30191  VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask( StencilFaceFlags faceMask, uint32_t writeMask, Dispatch const &d ) const
30192  {
30193  d.vkCmdSetStencilWriteMask( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), writeMask );
30194  }
30195 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30196 
30197 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30198  template<typename Dispatch>
30200  {
30201  d.vkCmdSetStencilReference( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), reference );
30202  }
30203 #else
30204  template<typename Dispatch>
30206  {
30207  d.vkCmdSetStencilReference( m_commandBuffer, static_cast<VkStencilFaceFlags>( faceMask ), reference );
30208  }
30209 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30210 
30211  template<typename Dispatch>
30212  VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const DescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets, Dispatch const &d) const
30213  {
30214  d.vkCmdBindDescriptorSets( m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipelineLayout>( layout ), firstSet, descriptorSetCount, reinterpret_cast<const VkDescriptorSet*>( pDescriptorSets ), dynamicOffsetCount, pDynamicOffsets );
30215  }
30216 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30217  template<typename Dispatch>
30218  VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, ArrayProxy<const DescriptorSet> descriptorSets, ArrayProxy<const uint32_t> dynamicOffsets, Dispatch const &d ) const
30219  {
30220  d.vkCmdBindDescriptorSets( m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipelineLayout>( layout ), firstSet, descriptorSets.size() , reinterpret_cast<const VkDescriptorSet*>( descriptorSets.data() ), dynamicOffsets.size() , dynamicOffsets.data() );
30221  }
30222 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30223 
30224 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30225  template<typename Dispatch>
30226  VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer( Buffer buffer, DeviceSize offset, IndexType indexType, Dispatch const &d) const
30227  {
30228  d.vkCmdBindIndexBuffer( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, static_cast<VkIndexType>( indexType ) );
30229  }
30230 #else
30231  template<typename Dispatch>
30233  {
30234  d.vkCmdBindIndexBuffer( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, static_cast<VkIndexType>( indexType ) );
30235  }
30236 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30237 
30238  template<typename Dispatch>
30239  VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers( uint32_t firstBinding, uint32_t bindingCount, const Buffer* pBuffers, const DeviceSize* pOffsets, Dispatch const &d) const
30240  {
30241  d.vkCmdBindVertexBuffers( m_commandBuffer, firstBinding, bindingCount, reinterpret_cast<const VkBuffer*>( pBuffers ), pOffsets );
30242  }
30243 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30244  template<typename Dispatch>
30246  {
30247 #ifdef VULKAN_HPP_NO_EXCEPTIONS
30248  VULKAN_HPP_ASSERT( buffers.size() == offsets.size() );
30249 #else
30250  if ( buffers.size() != offsets.size() )
30251  {
30252  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers: buffers.size() != offsets.size()" );
30253  }
30254 #endif // VULKAN_HPP_NO_EXCEPTIONS
30255  d.vkCmdBindVertexBuffers( m_commandBuffer, firstBinding, buffers.size() , reinterpret_cast<const VkBuffer*>( buffers.data() ), offsets.data() );
30256  }
30257 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30258 
30259 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30260  template<typename Dispatch>
30261  VULKAN_HPP_INLINE void CommandBuffer::draw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance, Dispatch const &d) const
30262  {
30263  d.vkCmdDraw( m_commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
30264  }
30265 #else
30266  template<typename Dispatch>
30267  VULKAN_HPP_INLINE void CommandBuffer::draw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance, Dispatch const &d ) const
30268  {
30269  d.vkCmdDraw( m_commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
30270  }
30271 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30272 
30273 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30274  template<typename Dispatch>
30275  VULKAN_HPP_INLINE void CommandBuffer::drawIndexed( uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance, Dispatch const &d) const
30276  {
30277  d.vkCmdDrawIndexed( m_commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
30278  }
30279 #else
30280  template<typename Dispatch>
30281  VULKAN_HPP_INLINE void CommandBuffer::drawIndexed( uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance, Dispatch const &d ) const
30282  {
30283  d.vkCmdDrawIndexed( m_commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
30284  }
30285 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30286 
30287 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30288  template<typename Dispatch>
30290  {
30291  d.vkCmdDrawIndirect( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, drawCount, stride );
30292  }
30293 #else
30294  template<typename Dispatch>
30296  {
30297  d.vkCmdDrawIndirect( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, drawCount, stride );
30298  }
30299 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30300 
30301 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30302  template<typename Dispatch>
30304  {
30305  d.vkCmdDrawIndexedIndirect( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, drawCount, stride );
30306  }
30307 #else
30308  template<typename Dispatch>
30310  {
30311  d.vkCmdDrawIndexedIndirect( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, drawCount, stride );
30312  }
30313 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30314 
30315 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30316  template<typename Dispatch>
30317  VULKAN_HPP_INLINE void CommandBuffer::dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d) const
30318  {
30319  d.vkCmdDispatch( m_commandBuffer, groupCountX, groupCountY, groupCountZ );
30320  }
30321 #else
30322  template<typename Dispatch>
30323  VULKAN_HPP_INLINE void CommandBuffer::dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d ) const
30324  {
30325  d.vkCmdDispatch( m_commandBuffer, groupCountX, groupCountY, groupCountZ );
30326  }
30327 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30328 
30329 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30330  template<typename Dispatch>
30332  {
30333  d.vkCmdDispatchIndirect( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset );
30334  }
30335 #else
30336  template<typename Dispatch>
30338  {
30339  d.vkCmdDispatchIndirect( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset );
30340  }
30341 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30342 
30343  template<typename Dispatch>
30344  VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( Buffer srcBuffer, Buffer dstBuffer, uint32_t regionCount, const BufferCopy* pRegions, Dispatch const &d) const
30345  {
30346  d.vkCmdCopyBuffer( m_commandBuffer, static_cast<VkBuffer>( srcBuffer ), static_cast<VkBuffer>( dstBuffer ), regionCount, reinterpret_cast<const VkBufferCopy*>( pRegions ) );
30347  }
30348 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30349  template<typename Dispatch>
30350  VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( Buffer srcBuffer, Buffer dstBuffer, ArrayProxy<const BufferCopy> regions, Dispatch const &d ) const
30351  {
30352  d.vkCmdCopyBuffer( m_commandBuffer, static_cast<VkBuffer>( srcBuffer ), static_cast<VkBuffer>( dstBuffer ), regions.size() , reinterpret_cast<const VkBufferCopy*>( regions.data() ) );
30353  }
30354 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30355 
30356  template<typename Dispatch>
30357  VULKAN_HPP_INLINE void CommandBuffer::copyImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageCopy* pRegions, Dispatch const &d) const
30358  {
30359  d.vkCmdCopyImage( m_commandBuffer, static_cast<VkImage>( srcImage ), static_cast<VkImageLayout>( srcImageLayout ), static_cast<VkImage>( dstImage ), static_cast<VkImageLayout>( dstImageLayout ), regionCount, reinterpret_cast<const VkImageCopy*>( pRegions ) );
30360  }
30361 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30362  template<typename Dispatch>
30363  VULKAN_HPP_INLINE void CommandBuffer::copyImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, ArrayProxy<const ImageCopy> regions, Dispatch const &d ) const
30364  {
30365  d.vkCmdCopyImage( m_commandBuffer, static_cast<VkImage>( srcImage ), static_cast<VkImageLayout>( srcImageLayout ), static_cast<VkImage>( dstImage ), static_cast<VkImageLayout>( dstImageLayout ), regions.size() , reinterpret_cast<const VkImageCopy*>( regions.data() ) );
30366  }
30367 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30368 
30369  template<typename Dispatch>
30370  VULKAN_HPP_INLINE void CommandBuffer::blitImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageBlit* pRegions, Filter filter, Dispatch const &d) const
30371  {
30372  d.vkCmdBlitImage( m_commandBuffer, static_cast<VkImage>( srcImage ), static_cast<VkImageLayout>( srcImageLayout ), static_cast<VkImage>( dstImage ), static_cast<VkImageLayout>( dstImageLayout ), regionCount, reinterpret_cast<const VkImageBlit*>( pRegions ), static_cast<VkFilter>( filter ) );
30373  }
30374 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30375  template<typename Dispatch>
30376  VULKAN_HPP_INLINE void CommandBuffer::blitImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, ArrayProxy<const ImageBlit> regions, Filter filter, Dispatch const &d ) const
30377  {
30378  d.vkCmdBlitImage( m_commandBuffer, static_cast<VkImage>( srcImage ), static_cast<VkImageLayout>( srcImageLayout ), static_cast<VkImage>( dstImage ), static_cast<VkImageLayout>( dstImageLayout ), regions.size() , reinterpret_cast<const VkImageBlit*>( regions.data() ), static_cast<VkFilter>( filter ) );
30379  }
30380 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30381 
30382  template<typename Dispatch>
30383  VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const BufferImageCopy* pRegions, Dispatch const &d) const
30384  {
30385  d.vkCmdCopyBufferToImage( m_commandBuffer, static_cast<VkBuffer>( srcBuffer ), static_cast<VkImage>( dstImage ), static_cast<VkImageLayout>( dstImageLayout ), regionCount, reinterpret_cast<const VkBufferImageCopy*>( pRegions ) );
30386  }
30387 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30388  template<typename Dispatch>
30389  VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, ArrayProxy<const BufferImageCopy> regions, Dispatch const &d ) const
30390  {
30391  d.vkCmdCopyBufferToImage( m_commandBuffer, static_cast<VkBuffer>( srcBuffer ), static_cast<VkImage>( dstImage ), static_cast<VkImageLayout>( dstImageLayout ), regions.size() , reinterpret_cast<const VkBufferImageCopy*>( regions.data() ) );
30392  }
30393 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30394 
30395  template<typename Dispatch>
30396  VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, uint32_t regionCount, const BufferImageCopy* pRegions, Dispatch const &d) const
30397  {
30398  d.vkCmdCopyImageToBuffer( m_commandBuffer, static_cast<VkImage>( srcImage ), static_cast<VkImageLayout>( srcImageLayout ), static_cast<VkBuffer>( dstBuffer ), regionCount, reinterpret_cast<const VkBufferImageCopy*>( pRegions ) );
30399  }
30400 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30401  template<typename Dispatch>
30402  VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, ArrayProxy<const BufferImageCopy> regions, Dispatch const &d ) const
30403  {
30404  d.vkCmdCopyImageToBuffer( m_commandBuffer, static_cast<VkImage>( srcImage ), static_cast<VkImageLayout>( srcImageLayout ), static_cast<VkBuffer>( dstBuffer ), regions.size() , reinterpret_cast<const VkBufferImageCopy*>( regions.data() ) );
30405  }
30406 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30407 
30408  template<typename Dispatch>
30409  VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize dataSize, const void* pData, Dispatch const &d) const
30410  {
30411  d.vkCmdUpdateBuffer( m_commandBuffer, static_cast<VkBuffer>( dstBuffer ), dstOffset, dataSize, pData );
30412  }
30413 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30414  template <typename T, typename Dispatch>
30415  VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( Buffer dstBuffer, DeviceSize dstOffset, ArrayProxy<const T> data, Dispatch const &d ) const
30416  {
30417  d.vkCmdUpdateBuffer( m_commandBuffer, static_cast<VkBuffer>( dstBuffer ), dstOffset, data.size() * sizeof( T ) , reinterpret_cast<const void*>( data.data() ) );
30418  }
30419 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30420 
30421 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30422  template<typename Dispatch>
30423  VULKAN_HPP_INLINE void CommandBuffer::fillBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize size, uint32_t data, Dispatch const &d) const
30424  {
30425  d.vkCmdFillBuffer( m_commandBuffer, static_cast<VkBuffer>( dstBuffer ), dstOffset, size, data );
30426  }
30427 #else
30428  template<typename Dispatch>
30429  VULKAN_HPP_INLINE void CommandBuffer::fillBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize size, uint32_t data, Dispatch const &d ) const
30430  {
30431  d.vkCmdFillBuffer( m_commandBuffer, static_cast<VkBuffer>( dstBuffer ), dstOffset, size, data );
30432  }
30433 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30434 
30435  template<typename Dispatch>
30436  VULKAN_HPP_INLINE void CommandBuffer::clearColorImage( Image image, ImageLayout imageLayout, const ClearColorValue* pColor, uint32_t rangeCount, const ImageSubresourceRange* pRanges, Dispatch const &d) const
30437  {
30438  d.vkCmdClearColorImage( m_commandBuffer, static_cast<VkImage>( image ), static_cast<VkImageLayout>( imageLayout ), reinterpret_cast<const VkClearColorValue*>( pColor ), rangeCount, reinterpret_cast<const VkImageSubresourceRange*>( pRanges ) );
30439  }
30440 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30441  template<typename Dispatch>
30443  {
30444  d.vkCmdClearColorImage( m_commandBuffer, static_cast<VkImage>( image ), static_cast<VkImageLayout>( imageLayout ), reinterpret_cast<const VkClearColorValue*>( &color ), ranges.size() , reinterpret_cast<const VkImageSubresourceRange*>( ranges.data() ) );
30445  }
30446 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30447 
30448  template<typename Dispatch>
30449  VULKAN_HPP_INLINE void CommandBuffer::clearDepthStencilImage( Image image, ImageLayout imageLayout, const ClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const ImageSubresourceRange* pRanges, Dispatch const &d) const
30450  {
30451  d.vkCmdClearDepthStencilImage( m_commandBuffer, static_cast<VkImage>( image ), static_cast<VkImageLayout>( imageLayout ), reinterpret_cast<const VkClearDepthStencilValue*>( pDepthStencil ), rangeCount, reinterpret_cast<const VkImageSubresourceRange*>( pRanges ) );
30452  }
30453 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30454  template<typename Dispatch>
30456  {
30457  d.vkCmdClearDepthStencilImage( m_commandBuffer, static_cast<VkImage>( image ), static_cast<VkImageLayout>( imageLayout ), reinterpret_cast<const VkClearDepthStencilValue*>( &depthStencil ), ranges.size() , reinterpret_cast<const VkImageSubresourceRange*>( ranges.data() ) );
30458  }
30459 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30460 
30461  template<typename Dispatch>
30462  VULKAN_HPP_INLINE void CommandBuffer::clearAttachments( uint32_t attachmentCount, const ClearAttachment* pAttachments, uint32_t rectCount, const ClearRect* pRects, Dispatch const &d) const
30463  {
30464  d.vkCmdClearAttachments( m_commandBuffer, attachmentCount, reinterpret_cast<const VkClearAttachment*>( pAttachments ), rectCount, reinterpret_cast<const VkClearRect*>( pRects ) );
30465  }
30466 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30467  template<typename Dispatch>
30469  {
30470  d.vkCmdClearAttachments( m_commandBuffer, attachments.size() , reinterpret_cast<const VkClearAttachment*>( attachments.data() ), rects.size() , reinterpret_cast<const VkClearRect*>( rects.data() ) );
30471  }
30472 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30473 
30474  template<typename Dispatch>
30475  VULKAN_HPP_INLINE void CommandBuffer::resolveImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageResolve* pRegions, Dispatch const &d) const
30476  {
30477  d.vkCmdResolveImage( m_commandBuffer, static_cast<VkImage>( srcImage ), static_cast<VkImageLayout>( srcImageLayout ), static_cast<VkImage>( dstImage ), static_cast<VkImageLayout>( dstImageLayout ), regionCount, reinterpret_cast<const VkImageResolve*>( pRegions ) );
30478  }
30479 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30480  template<typename Dispatch>
30481  VULKAN_HPP_INLINE void CommandBuffer::resolveImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, ArrayProxy<const ImageResolve> regions, Dispatch const &d ) const
30482  {
30483  d.vkCmdResolveImage( m_commandBuffer, static_cast<VkImage>( srcImage ), static_cast<VkImageLayout>( srcImageLayout ), static_cast<VkImage>( dstImage ), static_cast<VkImageLayout>( dstImageLayout ), regions.size() , reinterpret_cast<const VkImageResolve*>( regions.data() ) );
30484  }
30485 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30486 
30487 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30488  template<typename Dispatch>
30489  VULKAN_HPP_INLINE void CommandBuffer::setEvent( Event event, PipelineStageFlags stageMask, Dispatch const &d) const
30490  {
30491  d.vkCmdSetEvent( m_commandBuffer, static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) );
30492  }
30493 #else
30494  template<typename Dispatch>
30495  VULKAN_HPP_INLINE void CommandBuffer::setEvent( Event event, PipelineStageFlags stageMask, Dispatch const &d ) const
30496  {
30497  d.vkCmdSetEvent( m_commandBuffer, static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) );
30498  }
30499 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30500 
30501 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30502  template<typename Dispatch>
30503  VULKAN_HPP_INLINE void CommandBuffer::resetEvent( Event event, PipelineStageFlags stageMask, Dispatch const &d) const
30504  {
30505  d.vkCmdResetEvent( m_commandBuffer, static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) );
30506  }
30507 #else
30508  template<typename Dispatch>
30509  VULKAN_HPP_INLINE void CommandBuffer::resetEvent( Event event, PipelineStageFlags stageMask, Dispatch const &d ) const
30510  {
30511  d.vkCmdResetEvent( m_commandBuffer, static_cast<VkEvent>( event ), static_cast<VkPipelineStageFlags>( stageMask ) );
30512  }
30513 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30514 
30515  template<typename Dispatch>
30516  VULKAN_HPP_INLINE void CommandBuffer::waitEvents( uint32_t eventCount, const Event* pEvents, PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const MemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const BufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const ImageMemoryBarrier* pImageMemoryBarriers, Dispatch const &d) const
30517  {
30518  d.vkCmdWaitEvents( m_commandBuffer, eventCount, reinterpret_cast<const VkEvent*>( pEvents ), static_cast<VkPipelineStageFlags>( srcStageMask ), static_cast<VkPipelineStageFlags>( dstStageMask ), memoryBarrierCount, reinterpret_cast<const VkMemoryBarrier*>( pMemoryBarriers ), bufferMemoryBarrierCount, reinterpret_cast<const VkBufferMemoryBarrier*>( pBufferMemoryBarriers ), imageMemoryBarrierCount, reinterpret_cast<const VkImageMemoryBarrier*>( pImageMemoryBarriers ) );
30519  }
30520 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30521  template<typename Dispatch>
30523  {
30524  d.vkCmdWaitEvents( m_commandBuffer, events.size() , reinterpret_cast<const VkEvent*>( events.data() ), static_cast<VkPipelineStageFlags>( srcStageMask ), static_cast<VkPipelineStageFlags>( dstStageMask ), memoryBarriers.size() , reinterpret_cast<const VkMemoryBarrier*>( memoryBarriers.data() ), bufferMemoryBarriers.size() , reinterpret_cast<const VkBufferMemoryBarrier*>( bufferMemoryBarriers.data() ), imageMemoryBarriers.size() , reinterpret_cast<const VkImageMemoryBarrier*>( imageMemoryBarriers.data() ) );
30525  }
30526 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30527 
30528  template<typename Dispatch>
30529  VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier( PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const MemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const BufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const ImageMemoryBarrier* pImageMemoryBarriers, Dispatch const &d) const
30530  {
30531  d.vkCmdPipelineBarrier( m_commandBuffer, static_cast<VkPipelineStageFlags>( srcStageMask ), static_cast<VkPipelineStageFlags>( dstStageMask ), static_cast<VkDependencyFlags>( dependencyFlags ), memoryBarrierCount, reinterpret_cast<const VkMemoryBarrier*>( pMemoryBarriers ), bufferMemoryBarrierCount, reinterpret_cast<const VkBufferMemoryBarrier*>( pBufferMemoryBarriers ), imageMemoryBarrierCount, reinterpret_cast<const VkImageMemoryBarrier*>( pImageMemoryBarriers ) );
30532  }
30533 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30534  template<typename Dispatch>
30535  VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier( PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, ArrayProxy<const MemoryBarrier> memoryBarriers, ArrayProxy<const BufferMemoryBarrier> bufferMemoryBarriers, ArrayProxy<const ImageMemoryBarrier> imageMemoryBarriers, Dispatch const &d ) const
30536  {
30537  d.vkCmdPipelineBarrier( m_commandBuffer, static_cast<VkPipelineStageFlags>( srcStageMask ), static_cast<VkPipelineStageFlags>( dstStageMask ), static_cast<VkDependencyFlags>( dependencyFlags ), memoryBarriers.size() , reinterpret_cast<const VkMemoryBarrier*>( memoryBarriers.data() ), bufferMemoryBarriers.size() , reinterpret_cast<const VkBufferMemoryBarrier*>( bufferMemoryBarriers.data() ), imageMemoryBarriers.size() , reinterpret_cast<const VkImageMemoryBarrier*>( imageMemoryBarriers.data() ) );
30538  }
30539 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30540 
30541 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30542  template<typename Dispatch>
30543  VULKAN_HPP_INLINE void CommandBuffer::beginQuery( QueryPool queryPool, uint32_t query, QueryControlFlags flags, Dispatch const &d) const
30544  {
30545  d.vkCmdBeginQuery( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ) );
30546  }
30547 #else
30548  template<typename Dispatch>
30550  {
30551  d.vkCmdBeginQuery( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query, static_cast<VkQueryControlFlags>( flags ) );
30552  }
30553 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30554 
30555 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30556  template<typename Dispatch>
30557  VULKAN_HPP_INLINE void CommandBuffer::endQuery( QueryPool queryPool, uint32_t query, Dispatch const &d) const
30558  {
30559  d.vkCmdEndQuery( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query );
30560  }
30561 #else
30562  template<typename Dispatch>
30563  VULKAN_HPP_INLINE void CommandBuffer::endQuery( QueryPool queryPool, uint32_t query, Dispatch const &d ) const
30564  {
30565  d.vkCmdEndQuery( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), query );
30566  }
30567 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30568 
30569 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30570  template<typename Dispatch>
30571  VULKAN_HPP_INLINE void CommandBuffer::resetQueryPool( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const &d) const
30572  {
30573  d.vkCmdResetQueryPool( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount );
30574  }
30575 #else
30576  template<typename Dispatch>
30577  VULKAN_HPP_INLINE void CommandBuffer::resetQueryPool( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const &d ) const
30578  {
30579  d.vkCmdResetQueryPool( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount );
30580  }
30581 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30582 
30583 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30584  template<typename Dispatch>
30585  VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp( PipelineStageFlagBits pipelineStage, QueryPool queryPool, uint32_t query, Dispatch const &d) const
30586  {
30587  d.vkCmdWriteTimestamp( m_commandBuffer, static_cast<VkPipelineStageFlagBits>( pipelineStage ), static_cast<VkQueryPool>( queryPool ), query );
30588  }
30589 #else
30590  template<typename Dispatch>
30591  VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp( PipelineStageFlagBits pipelineStage, QueryPool queryPool, uint32_t query, Dispatch const &d ) const
30592  {
30593  d.vkCmdWriteTimestamp( m_commandBuffer, static_cast<VkPipelineStageFlagBits>( pipelineStage ), static_cast<VkQueryPool>( queryPool ), query );
30594  }
30595 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30596 
30597 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30598  template<typename Dispatch>
30599  VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Buffer dstBuffer, DeviceSize dstOffset, DeviceSize stride, QueryResultFlags flags, Dispatch const &d) const
30600  {
30601  d.vkCmdCopyQueryPoolResults( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount, static_cast<VkBuffer>( dstBuffer ), dstOffset, stride, static_cast<VkQueryResultFlags>( flags ) );
30602  }
30603 #else
30604  template<typename Dispatch>
30605  VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Buffer dstBuffer, DeviceSize dstOffset, DeviceSize stride, QueryResultFlags flags, Dispatch const &d ) const
30606  {
30607  d.vkCmdCopyQueryPoolResults( m_commandBuffer, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount, static_cast<VkBuffer>( dstBuffer ), dstOffset, stride, static_cast<VkQueryResultFlags>( flags ) );
30608  }
30609 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30610 
30611  template<typename Dispatch>
30612  VULKAN_HPP_INLINE void CommandBuffer::pushConstants( PipelineLayout layout, ShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues, Dispatch const &d) const
30613  {
30614  d.vkCmdPushConstants( m_commandBuffer, static_cast<VkPipelineLayout>( layout ), static_cast<VkShaderStageFlags>( stageFlags ), offset, size, pValues );
30615  }
30616 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30617  template <typename T, typename Dispatch>
30619  {
30620  d.vkCmdPushConstants( m_commandBuffer, static_cast<VkPipelineLayout>( layout ), static_cast<VkShaderStageFlags>( stageFlags ), offset, values.size() * sizeof( T ) , reinterpret_cast<const void*>( values.data() ) );
30621  }
30622 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30623 
30624  template<typename Dispatch>
30625  VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass( const RenderPassBeginInfo* pRenderPassBegin, SubpassContents contents, Dispatch const &d) const
30626  {
30627  d.vkCmdBeginRenderPass( m_commandBuffer, reinterpret_cast<const VkRenderPassBeginInfo*>( pRenderPassBegin ), static_cast<VkSubpassContents>( contents ) );
30628  }
30629 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30630  template<typename Dispatch>
30631  VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass( const RenderPassBeginInfo & renderPassBegin, SubpassContents contents, Dispatch const &d ) const
30632  {
30633  d.vkCmdBeginRenderPass( m_commandBuffer, reinterpret_cast<const VkRenderPassBeginInfo*>( &renderPassBegin ), static_cast<VkSubpassContents>( contents ) );
30634  }
30635 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30636 
30637 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30638  template<typename Dispatch>
30639  VULKAN_HPP_INLINE void CommandBuffer::nextSubpass( SubpassContents contents, Dispatch const &d) const
30640  {
30641  d.vkCmdNextSubpass( m_commandBuffer, static_cast<VkSubpassContents>( contents ) );
30642  }
30643 #else
30644  template<typename Dispatch>
30645  VULKAN_HPP_INLINE void CommandBuffer::nextSubpass( SubpassContents contents, Dispatch const &d ) const
30646  {
30647  d.vkCmdNextSubpass( m_commandBuffer, static_cast<VkSubpassContents>( contents ) );
30648  }
30649 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30650 
30651 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30652  template<typename Dispatch>
30653  VULKAN_HPP_INLINE void CommandBuffer::endRenderPass(Dispatch const &d) const
30654  {
30655  d.vkCmdEndRenderPass( m_commandBuffer );
30656  }
30657 #else
30658  template<typename Dispatch>
30659  VULKAN_HPP_INLINE void CommandBuffer::endRenderPass(Dispatch const &d ) const
30660  {
30661  d.vkCmdEndRenderPass( m_commandBuffer );
30662  }
30663 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30664 
30665  template<typename Dispatch>
30666  VULKAN_HPP_INLINE void CommandBuffer::executeCommands( uint32_t commandBufferCount, const CommandBuffer* pCommandBuffers, Dispatch const &d) const
30667  {
30668  d.vkCmdExecuteCommands( m_commandBuffer, commandBufferCount, reinterpret_cast<const VkCommandBuffer*>( pCommandBuffers ) );
30669  }
30670 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30671  template<typename Dispatch>
30673  {
30674  d.vkCmdExecuteCommands( m_commandBuffer, commandBuffers.size() , reinterpret_cast<const VkCommandBuffer*>( commandBuffers.data() ) );
30675  }
30676 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30677 
30678  template<typename Dispatch>
30679  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT* pMarkerInfo, Dispatch const &d) const
30680  {
30681  d.vkCmdDebugMarkerBeginEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT*>( pMarkerInfo ) );
30682  }
30683 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30684  template<typename Dispatch>
30685  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT( const DebugMarkerMarkerInfoEXT & markerInfo, Dispatch const &d ) const
30686  {
30687  d.vkCmdDebugMarkerBeginEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT*>( &markerInfo ) );
30688  }
30689 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30690 
30691 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30692  template<typename Dispatch>
30693  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerEndEXT(Dispatch const &d) const
30694  {
30695  d.vkCmdDebugMarkerEndEXT( m_commandBuffer );
30696  }
30697 #else
30698  template<typename Dispatch>
30700  {
30701  d.vkCmdDebugMarkerEndEXT( m_commandBuffer );
30702  }
30703 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30704 
30705  template<typename Dispatch>
30706  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT* pMarkerInfo, Dispatch const &d) const
30707  {
30708  d.vkCmdDebugMarkerInsertEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT*>( pMarkerInfo ) );
30709  }
30710 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30711  template<typename Dispatch>
30712  VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT( const DebugMarkerMarkerInfoEXT & markerInfo, Dispatch const &d ) const
30713  {
30714  d.vkCmdDebugMarkerInsertEXT( m_commandBuffer, reinterpret_cast<const VkDebugMarkerMarkerInfoEXT*>( &markerInfo ) );
30715  }
30716 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30717 
30718 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30719  template<typename Dispatch>
30720  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d) const
30721  {
30722  d.vkCmdDrawIndirectCountAMD( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, static_cast<VkBuffer>( countBuffer ), countBufferOffset, maxDrawCount, stride );
30723  }
30724 #else
30725  template<typename Dispatch>
30726  VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d ) const
30727  {
30728  d.vkCmdDrawIndirectCountAMD( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, static_cast<VkBuffer>( countBuffer ), countBufferOffset, maxDrawCount, stride );
30729  }
30730 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30731 
30732 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30733  template<typename Dispatch>
30734  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d) const
30735  {
30736  d.vkCmdDrawIndexedIndirectCountAMD( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, static_cast<VkBuffer>( countBuffer ), countBufferOffset, maxDrawCount, stride );
30737  }
30738 #else
30739  template<typename Dispatch>
30740  VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d ) const
30741  {
30742  d.vkCmdDrawIndexedIndirectCountAMD( m_commandBuffer, static_cast<VkBuffer>( buffer ), offset, static_cast<VkBuffer>( countBuffer ), countBufferOffset, maxDrawCount, stride );
30743  }
30744 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30745 
30746  template<typename Dispatch>
30747  VULKAN_HPP_INLINE void CommandBuffer::processCommandsNVX( const CmdProcessCommandsInfoNVX* pProcessCommandsInfo, Dispatch const &d) const
30748  {
30749  d.vkCmdProcessCommandsNVX( m_commandBuffer, reinterpret_cast<const VkCmdProcessCommandsInfoNVX*>( pProcessCommandsInfo ) );
30750  }
30751 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30752  template<typename Dispatch>
30753  VULKAN_HPP_INLINE void CommandBuffer::processCommandsNVX( const CmdProcessCommandsInfoNVX & processCommandsInfo, Dispatch const &d ) const
30754  {
30755  d.vkCmdProcessCommandsNVX( m_commandBuffer, reinterpret_cast<const VkCmdProcessCommandsInfoNVX*>( &processCommandsInfo ) );
30756  }
30757 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30758 
30759  template<typename Dispatch>
30761  {
30762  d.vkCmdReserveSpaceForCommandsNVX( m_commandBuffer, reinterpret_cast<const VkCmdReserveSpaceForCommandsInfoNVX*>( pReserveSpaceInfo ) );
30763  }
30764 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30765  template<typename Dispatch>
30767  {
30768  d.vkCmdReserveSpaceForCommandsNVX( m_commandBuffer, reinterpret_cast<const VkCmdReserveSpaceForCommandsInfoNVX*>( &reserveSpaceInfo ) );
30769  }
30770 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30771 
30772  template<typename Dispatch>
30773  VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const WriteDescriptorSet* pDescriptorWrites, Dispatch const &d) const
30774  {
30775  d.vkCmdPushDescriptorSetKHR( m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipelineLayout>( layout ), set, descriptorWriteCount, reinterpret_cast<const VkWriteDescriptorSet*>( pDescriptorWrites ) );
30776  }
30777 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30778  template<typename Dispatch>
30779  VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, ArrayProxy<const WriteDescriptorSet> descriptorWrites, Dispatch const &d ) const
30780  {
30781  d.vkCmdPushDescriptorSetKHR( m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipelineLayout>( layout ), set, descriptorWrites.size() , reinterpret_cast<const VkWriteDescriptorSet*>( descriptorWrites.data() ) );
30782  }
30783 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30784 
30785 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30786  template<typename Dispatch>
30787  VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask( uint32_t deviceMask, Dispatch const &d) const
30788  {
30789  d.vkCmdSetDeviceMask( m_commandBuffer, deviceMask );
30790  }
30791 #else
30792  template<typename Dispatch>
30793  VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask( uint32_t deviceMask, Dispatch const &d ) const
30794  {
30795  d.vkCmdSetDeviceMask( m_commandBuffer, deviceMask );
30796  }
30797 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30798 
30799 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30800  template<typename Dispatch>
30801  VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR( uint32_t deviceMask, Dispatch const &d) const
30802  {
30803  d.vkCmdSetDeviceMaskKHR( m_commandBuffer, deviceMask );
30804  }
30805 #else
30806  template<typename Dispatch>
30807  VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR( uint32_t deviceMask, Dispatch const &d ) const
30808  {
30809  d.vkCmdSetDeviceMaskKHR( m_commandBuffer, deviceMask );
30810  }
30811 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30812 
30813 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30814  template<typename Dispatch>
30815  VULKAN_HPP_INLINE void CommandBuffer::dispatchBase( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d) const
30816  {
30817  d.vkCmdDispatchBase( m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
30818  }
30819 #else
30820  template<typename Dispatch>
30821  VULKAN_HPP_INLINE void CommandBuffer::dispatchBase( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d ) const
30822  {
30823  d.vkCmdDispatchBase( m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
30824  }
30825 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30826 
30827 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30828  template<typename Dispatch>
30829  VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d) const
30830  {
30831  d.vkCmdDispatchBaseKHR( m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
30832  }
30833 #else
30834  template<typename Dispatch>
30835  VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d ) const
30836  {
30837  d.vkCmdDispatchBaseKHR( m_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
30838  }
30839 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30840 
30841 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30842  template<typename Dispatch>
30843  VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, const void* pData, Dispatch const &d) const
30844  {
30845  d.vkCmdPushDescriptorSetWithTemplateKHR( m_commandBuffer, static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), static_cast<VkPipelineLayout>( layout ), set, pData );
30846  }
30847 #else
30848  template<typename Dispatch>
30849  VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, const void* pData, Dispatch const &d ) const
30850  {
30851  d.vkCmdPushDescriptorSetWithTemplateKHR( m_commandBuffer, static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), static_cast<VkPipelineLayout>( layout ), set, pData );
30852  }
30853 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30854 
30855  template<typename Dispatch>
30856  VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV( uint32_t firstViewport, uint32_t viewportCount, const ViewportWScalingNV* pViewportWScalings, Dispatch const &d) const
30857  {
30858  d.vkCmdSetViewportWScalingNV( m_commandBuffer, firstViewport, viewportCount, reinterpret_cast<const VkViewportWScalingNV*>( pViewportWScalings ) );
30859  }
30860 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30861  template<typename Dispatch>
30862  VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV( uint32_t firstViewport, ArrayProxy<const ViewportWScalingNV> viewportWScalings, Dispatch const &d ) const
30863  {
30864  d.vkCmdSetViewportWScalingNV( m_commandBuffer, firstViewport, viewportWScalings.size() , reinterpret_cast<const VkViewportWScalingNV*>( viewportWScalings.data() ) );
30865  }
30866 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30867 
30868  template<typename Dispatch>
30869  VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const Rect2D* pDiscardRectangles, Dispatch const &d) const
30870  {
30871  d.vkCmdSetDiscardRectangleEXT( m_commandBuffer, firstDiscardRectangle, discardRectangleCount, reinterpret_cast<const VkRect2D*>( pDiscardRectangles ) );
30872  }
30873 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30874  template<typename Dispatch>
30875  VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( uint32_t firstDiscardRectangle, ArrayProxy<const Rect2D> discardRectangles, Dispatch const &d ) const
30876  {
30877  d.vkCmdSetDiscardRectangleEXT( m_commandBuffer, firstDiscardRectangle, discardRectangles.size() , reinterpret_cast<const VkRect2D*>( discardRectangles.data() ) );
30878  }
30879 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30880 
30881  template<typename Dispatch>
30882  VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( const SampleLocationsInfoEXT* pSampleLocationsInfo, Dispatch const &d) const
30883  {
30884  d.vkCmdSetSampleLocationsEXT( m_commandBuffer, reinterpret_cast<const VkSampleLocationsInfoEXT*>( pSampleLocationsInfo ) );
30885  }
30886 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30887  template<typename Dispatch>
30888  VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( const SampleLocationsInfoEXT & sampleLocationsInfo, Dispatch const &d ) const
30889  {
30890  d.vkCmdSetSampleLocationsEXT( m_commandBuffer, reinterpret_cast<const VkSampleLocationsInfoEXT*>( &sampleLocationsInfo ) );
30891  }
30892 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30893 
30894  template<typename Dispatch>
30895  VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT* pLabelInfo, Dispatch const &d) const
30896  {
30897  d.vkCmdBeginDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT*>( pLabelInfo ) );
30898  }
30899 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30900  template<typename Dispatch>
30901  VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d ) const
30902  {
30903  d.vkCmdBeginDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT*>( &labelInfo ) );
30904  }
30905 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30906 
30907 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30908  template<typename Dispatch>
30909  VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT(Dispatch const &d) const
30910  {
30911  d.vkCmdEndDebugUtilsLabelEXT( m_commandBuffer );
30912  }
30913 #else
30914  template<typename Dispatch>
30916  {
30917  d.vkCmdEndDebugUtilsLabelEXT( m_commandBuffer );
30918  }
30919 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30920 
30921  template<typename Dispatch>
30922  VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT* pLabelInfo, Dispatch const &d) const
30923  {
30924  d.vkCmdInsertDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT*>( pLabelInfo ) );
30925  }
30926 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
30927  template<typename Dispatch>
30928  VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d ) const
30929  {
30930  d.vkCmdInsertDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast<const VkDebugUtilsLabelEXT*>( &labelInfo ) );
30931  }
30932 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30933 
30934 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
30935  template<typename Dispatch>
30936  VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD( PipelineStageFlagBits pipelineStage, Buffer dstBuffer, DeviceSize dstOffset, uint32_t marker, Dispatch const &d) const
30937  {
30938  d.vkCmdWriteBufferMarkerAMD( m_commandBuffer, static_cast<VkPipelineStageFlagBits>( pipelineStage ), static_cast<VkBuffer>( dstBuffer ), dstOffset, marker );
30939  }
30940 #else
30941  template<typename Dispatch>
30942  VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD( PipelineStageFlagBits pipelineStage, Buffer dstBuffer, DeviceSize dstOffset, uint32_t marker, Dispatch const &d ) const
30943  {
30944  d.vkCmdWriteBufferMarkerAMD( m_commandBuffer, static_cast<VkPipelineStageFlagBits>( pipelineStage ), static_cast<VkBuffer>( dstBuffer ), dstOffset, marker );
30945  }
30946 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
30947 
30948  struct SubmitInfo
30949  {
30950  SubmitInfo( uint32_t waitSemaphoreCount_ = 0, const Semaphore* pWaitSemaphores_ = nullptr, const PipelineStageFlags* pWaitDstStageMask_ = nullptr, uint32_t commandBufferCount_ = 0, const CommandBuffer* pCommandBuffers_ = nullptr, uint32_t signalSemaphoreCount_ = 0, const Semaphore* pSignalSemaphores_ = nullptr )
30951  : waitSemaphoreCount( waitSemaphoreCount_ )
30952  , pWaitSemaphores( pWaitSemaphores_ )
30953  , pWaitDstStageMask( pWaitDstStageMask_ )
30954  , commandBufferCount( commandBufferCount_ )
30955  , pCommandBuffers( pCommandBuffers_ )
30956  , signalSemaphoreCount( signalSemaphoreCount_ )
30957  , pSignalSemaphores( pSignalSemaphores_ )
30958  {
30959  }
30960 
30961  SubmitInfo( VkSubmitInfo const & rhs )
30962  {
30963  memcpy( this, &rhs, sizeof( SubmitInfo ) );
30964  }
30965 
30967  {
30968  memcpy( this, &rhs, sizeof( SubmitInfo ) );
30969  return *this;
30970  }
30971  SubmitInfo& setPNext( const void* pNext_ )
30972  {
30973  pNext = pNext_;
30974  return *this;
30975  }
30976 
30978  {
30979  waitSemaphoreCount = waitSemaphoreCount_;
30980  return *this;
30981  }
30982 
30983  SubmitInfo& setPWaitSemaphores( const Semaphore* pWaitSemaphores_ )
30984  {
30985  pWaitSemaphores = pWaitSemaphores_;
30986  return *this;
30987  }
30988 
30990  {
30991  pWaitDstStageMask = pWaitDstStageMask_;
30992  return *this;
30993  }
30994 
30996  {
30997  commandBufferCount = commandBufferCount_;
30998  return *this;
30999  }
31000 
31001  SubmitInfo& setPCommandBuffers( const CommandBuffer* pCommandBuffers_ )
31002  {
31003  pCommandBuffers = pCommandBuffers_;
31004  return *this;
31005  }
31006 
31007  SubmitInfo& setSignalSemaphoreCount( uint32_t signalSemaphoreCount_ )
31008  {
31009  signalSemaphoreCount = signalSemaphoreCount_;
31010  return *this;
31011  }
31012 
31013  SubmitInfo& setPSignalSemaphores( const Semaphore* pSignalSemaphores_ )
31014  {
31015  pSignalSemaphores = pSignalSemaphores_;
31016  return *this;
31017  }
31018 
31019  operator const VkSubmitInfo&() const
31020  {
31021  return *reinterpret_cast<const VkSubmitInfo*>(this);
31022  }
31023 
31024  bool operator==( SubmitInfo const& rhs ) const
31025  {
31026  return ( sType == rhs.sType )
31027  && ( pNext == rhs.pNext )
31029  && ( pWaitSemaphores == rhs.pWaitSemaphores )
31030  && ( pWaitDstStageMask == rhs.pWaitDstStageMask )
31032  && ( pCommandBuffers == rhs.pCommandBuffers )
31034  && ( pSignalSemaphores == rhs.pSignalSemaphores );
31035  }
31036 
31037  bool operator!=( SubmitInfo const& rhs ) const
31038  {
31039  return !operator==( rhs );
31040  }
31041 
31042  private:
31044 
31045  public:
31046  const void* pNext = nullptr;
31054  };
31055  static_assert( sizeof( SubmitInfo ) == sizeof( VkSubmitInfo ), "struct and wrapper have different size!" );
31056 
31057  class Queue
31058  {
31059  public:
31062  {}
31063 
31064  VULKAN_HPP_CONSTEXPR Queue( std::nullptr_t )
31066  {}
31067 
31069  : m_queue( queue )
31070  {}
31071 
31072 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
31073  Queue & operator=(VkQueue queue)
31074  {
31075  m_queue = queue;
31076  return *this;
31077  }
31078 #endif
31079 
31080  Queue & operator=( std::nullptr_t )
31081  {
31083  return *this;
31084  }
31085 
31086  bool operator==( Queue const & rhs ) const
31087  {
31088  return m_queue == rhs.m_queue;
31089  }
31090 
31091  bool operator!=(Queue const & rhs ) const
31092  {
31093  return m_queue != rhs.m_queue;
31094  }
31095 
31096  bool operator<(Queue const & rhs ) const
31097  {
31098  return m_queue < rhs.m_queue;
31099  }
31100 
31101  template<typename Dispatch = DispatchLoaderStatic>
31102  Result submit( uint32_t submitCount, const SubmitInfo* pSubmits, Fence fence, Dispatch const &d = Dispatch() ) const;
31103 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31104  template<typename Dispatch = DispatchLoaderStatic>
31105  ResultValueType<void>::type submit( ArrayProxy<const SubmitInfo> submits, Fence fence, Dispatch const &d = Dispatch() ) const;
31106 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31107 
31108 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31109  template<typename Dispatch = DispatchLoaderStatic>
31110  Result waitIdle(Dispatch const &d = Dispatch() ) const;
31111 #else
31112  template<typename Dispatch = DispatchLoaderStatic>
31113  ResultValueType<void>::type waitIdle(Dispatch const &d = Dispatch() ) const;
31114 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31115 
31116  template<typename Dispatch = DispatchLoaderStatic>
31117  Result bindSparse( uint32_t bindInfoCount, const BindSparseInfo* pBindInfo, Fence fence, Dispatch const &d = Dispatch() ) const;
31118 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31119  template<typename Dispatch = DispatchLoaderStatic>
31120  ResultValueType<void>::type bindSparse( ArrayProxy<const BindSparseInfo> bindInfo, Fence fence, Dispatch const &d = Dispatch() ) const;
31121 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31122 
31123  template<typename Dispatch = DispatchLoaderStatic>
31124  Result presentKHR( const PresentInfoKHR* pPresentInfo, Dispatch const &d = Dispatch() ) const;
31125 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31126  template<typename Dispatch = DispatchLoaderStatic>
31127  Result presentKHR( const PresentInfoKHR & presentInfo, Dispatch const &d = Dispatch() ) const;
31128 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31129 
31130  template<typename Dispatch = DispatchLoaderStatic>
31131  void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT* pLabelInfo, Dispatch const &d = Dispatch() ) const;
31132 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31133  template<typename Dispatch = DispatchLoaderStatic>
31134  void beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d = Dispatch() ) const;
31135 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31136 
31137  template<typename Dispatch = DispatchLoaderStatic>
31138  void endDebugUtilsLabelEXT(Dispatch const &d = Dispatch() ) const;
31139 
31140  template<typename Dispatch = DispatchLoaderStatic>
31141  void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT* pLabelInfo, Dispatch const &d = Dispatch() ) const;
31142 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31143  template<typename Dispatch = DispatchLoaderStatic>
31144  void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d = Dispatch() ) const;
31145 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31146 
31147 
31148 
31149  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkQueue() const
31150  {
31151  return m_queue;
31152  }
31153 
31154  explicit operator bool() const
31155  {
31156  return m_queue != VK_NULL_HANDLE;
31157  }
31158 
31159  bool operator!() const
31160  {
31161  return m_queue == VK_NULL_HANDLE;
31162  }
31163 
31164  private:
31165  VkQueue m_queue;
31166  };
31167 
31168  static_assert( sizeof( Queue ) == sizeof( VkQueue ), "handle and wrapper have different size!" );
31169 
31170  template<typename Dispatch>
31171  VULKAN_HPP_INLINE Result Queue::submit( uint32_t submitCount, const SubmitInfo* pSubmits, Fence fence, Dispatch const &d) const
31172  {
31173  return static_cast<Result>( d.vkQueueSubmit( m_queue, submitCount, reinterpret_cast<const VkSubmitInfo*>( pSubmits ), static_cast<VkFence>( fence ) ) );
31174  }
31175 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31176  template<typename Dispatch>
31178  {
31179  Result result = static_cast<Result>( d.vkQueueSubmit( m_queue, submits.size() , reinterpret_cast<const VkSubmitInfo*>( submits.data() ), static_cast<VkFence>( fence ) ) );
31180  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Queue::submit" );
31181  }
31182 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31183 
31184 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31185  template<typename Dispatch>
31186  VULKAN_HPP_INLINE Result Queue::waitIdle(Dispatch const &d) const
31187  {
31188  return static_cast<Result>( d.vkQueueWaitIdle( m_queue ) );
31189  }
31190 #else
31191  template<typename Dispatch>
31193  {
31194  Result result = static_cast<Result>( d.vkQueueWaitIdle( m_queue ) );
31195  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Queue::waitIdle" );
31196  }
31197 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31198 
31199  template<typename Dispatch>
31200  VULKAN_HPP_INLINE Result Queue::bindSparse( uint32_t bindInfoCount, const BindSparseInfo* pBindInfo, Fence fence, Dispatch const &d) const
31201  {
31202  return static_cast<Result>( d.vkQueueBindSparse( m_queue, bindInfoCount, reinterpret_cast<const VkBindSparseInfo*>( pBindInfo ), static_cast<VkFence>( fence ) ) );
31203  }
31204 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31205  template<typename Dispatch>
31207  {
31208  Result result = static_cast<Result>( d.vkQueueBindSparse( m_queue, bindInfo.size() , reinterpret_cast<const VkBindSparseInfo*>( bindInfo.data() ), static_cast<VkFence>( fence ) ) );
31209  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Queue::bindSparse" );
31210  }
31211 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31212 
31213  template<typename Dispatch>
31214  VULKAN_HPP_INLINE Result Queue::presentKHR( const PresentInfoKHR* pPresentInfo, Dispatch const &d) const
31215  {
31216  return static_cast<Result>( d.vkQueuePresentKHR( m_queue, reinterpret_cast<const VkPresentInfoKHR*>( pPresentInfo ) ) );
31217  }
31218 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31219  template<typename Dispatch>
31220  VULKAN_HPP_INLINE Result Queue::presentKHR( const PresentInfoKHR & presentInfo, Dispatch const &d ) const
31221  {
31222  Result result = static_cast<Result>( d.vkQueuePresentKHR( m_queue, reinterpret_cast<const VkPresentInfoKHR*>( &presentInfo ) ) );
31224  }
31225 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31226 
31227  template<typename Dispatch>
31228  VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT* pLabelInfo, Dispatch const &d) const
31229  {
31230  d.vkQueueBeginDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT*>( pLabelInfo ) );
31231  }
31232 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31233  template<typename Dispatch>
31234  VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d ) const
31235  {
31236  d.vkQueueBeginDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT*>( &labelInfo ) );
31237  }
31238 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31239 
31240 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31241  template<typename Dispatch>
31242  VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT(Dispatch const &d) const
31243  {
31244  d.vkQueueEndDebugUtilsLabelEXT( m_queue );
31245  }
31246 #else
31247  template<typename Dispatch>
31248  VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT(Dispatch const &d ) const
31249  {
31250  d.vkQueueEndDebugUtilsLabelEXT( m_queue );
31251  }
31252 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31253 
31254  template<typename Dispatch>
31255  VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT* pLabelInfo, Dispatch const &d) const
31256  {
31257  d.vkQueueInsertDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT*>( pLabelInfo ) );
31258  }
31259 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31260  template<typename Dispatch>
31261  VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d ) const
31262  {
31263  d.vkQueueInsertDebugUtilsLabelEXT( m_queue, reinterpret_cast<const VkDebugUtilsLabelEXT*>( &labelInfo ) );
31264  }
31265 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31266 
31267 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31268  class Device;
31269 
31270  template <> class UniqueHandleTraits<Buffer> {public: using deleter = ObjectDestroy<Device>; };
31272  template <> class UniqueHandleTraits<BufferView> {public: using deleter = ObjectDestroy<Device>; };
31276  template <> class UniqueHandleTraits<CommandPool> {public: using deleter = ObjectDestroy<Device>; };
31278  template <> class UniqueHandleTraits<DescriptorPool> {public: using deleter = ObjectDestroy<Device>; };
31286  template <> class UniqueHandleTraits<DeviceMemory> {public: using deleter = ObjectFree<Device>; };
31288  template <> class UniqueHandleTraits<Event> {public: using deleter = ObjectDestroy<Device>; };
31290  template <> class UniqueHandleTraits<Fence> {public: using deleter = ObjectDestroy<Device>; };
31292  template <> class UniqueHandleTraits<Framebuffer> {public: using deleter = ObjectDestroy<Device>; };
31294  template <> class UniqueHandleTraits<Image> {public: using deleter = ObjectDestroy<Device>; };
31296  template <> class UniqueHandleTraits<ImageView> {public: using deleter = ObjectDestroy<Device>; };
31300  template <> class UniqueHandleTraits<ObjectTableNVX> {public: using deleter = ObjectDestroy<Device>; };
31302  template <> class UniqueHandleTraits<Pipeline> {public: using deleter = ObjectDestroy<Device>; };
31304  template <> class UniqueHandleTraits<PipelineCache> {public: using deleter = ObjectDestroy<Device>; };
31306  template <> class UniqueHandleTraits<PipelineLayout> {public: using deleter = ObjectDestroy<Device>; };
31308  template <> class UniqueHandleTraits<QueryPool> {public: using deleter = ObjectDestroy<Device>; };
31310  template <> class UniqueHandleTraits<RenderPass> {public: using deleter = ObjectDestroy<Device>; };
31312  template <> class UniqueHandleTraits<Sampler> {public: using deleter = ObjectDestroy<Device>; };
31316  template <> class UniqueHandleTraits<Semaphore> {public: using deleter = ObjectDestroy<Device>; };
31318  template <> class UniqueHandleTraits<ShaderModule> {public: using deleter = ObjectDestroy<Device>; };
31320  template <> class UniqueHandleTraits<SwapchainKHR> {public: using deleter = ObjectDestroy<Device>; };
31322  template <> class UniqueHandleTraits<ValidationCacheEXT> {public: using deleter = ObjectDestroy<Device>; };
31324 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31325 
31326  class Device
31327  {
31328  public:
31331  {}
31332 
31333  VULKAN_HPP_CONSTEXPR Device( std::nullptr_t )
31335  {}
31336 
31338  : m_device( device )
31339  {}
31340 
31341 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
31342  Device & operator=(VkDevice device)
31343  {
31344  m_device = device;
31345  return *this;
31346  }
31347 #endif
31348 
31349  Device & operator=( std::nullptr_t )
31350  {
31352  return *this;
31353  }
31354 
31355  bool operator==( Device const & rhs ) const
31356  {
31357  return m_device == rhs.m_device;
31358  }
31359 
31360  bool operator!=(Device const & rhs ) const
31361  {
31362  return m_device != rhs.m_device;
31363  }
31364 
31365  bool operator<(Device const & rhs ) const
31366  {
31367  return m_device < rhs.m_device;
31368  }
31369 
31370  template<typename Dispatch = DispatchLoaderStatic>
31371  PFN_vkVoidFunction getProcAddr( const char* pName, Dispatch const &d = Dispatch() ) const;
31372 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31373  template<typename Dispatch = DispatchLoaderStatic>
31374  PFN_vkVoidFunction getProcAddr( const std::string & name, Dispatch const &d = Dispatch() ) const;
31375 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31376 
31377  template<typename Dispatch = DispatchLoaderStatic>
31378  void destroy( const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31379 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31380  template<typename Dispatch = DispatchLoaderStatic>
31381  void destroy( Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31382 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31383 
31384  template<typename Dispatch = DispatchLoaderStatic>
31385  void getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Queue* pQueue, Dispatch const &d = Dispatch() ) const;
31386 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31387  template<typename Dispatch = DispatchLoaderStatic>
31388  Queue getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const &d = Dispatch() ) const;
31389 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31390 
31391 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31392  template<typename Dispatch = DispatchLoaderStatic>
31393  Result waitIdle(Dispatch const &d = Dispatch() ) const;
31394 #else
31395  template<typename Dispatch = DispatchLoaderStatic>
31396  ResultValueType<void>::type waitIdle(Dispatch const &d = Dispatch() ) const;
31397 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31398 
31399  template<typename Dispatch = DispatchLoaderStatic>
31400  Result allocateMemory( const MemoryAllocateInfo* pAllocateInfo, const AllocationCallbacks* pAllocator, DeviceMemory* pMemory, Dispatch const &d = Dispatch() ) const;
31401 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31402  template<typename Dispatch = DispatchLoaderStatic>
31403  ResultValueType<DeviceMemory>::type allocateMemory( const MemoryAllocateInfo & allocateInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31404 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31405  template<typename Dispatch = DispatchLoaderStatic>
31406  ResultValueType<UniqueDeviceMemory>::type allocateMemoryUnique( const MemoryAllocateInfo & allocateInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31407 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31408 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31409 
31410  template<typename Dispatch = DispatchLoaderStatic>
31411  void freeMemory( DeviceMemory memory, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31412 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31413  template<typename Dispatch = DispatchLoaderStatic>
31414  void freeMemory( DeviceMemory memory, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31415 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31416 
31417  template<typename Dispatch = DispatchLoaderStatic>
31418  void free( DeviceMemory memory, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31419 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31420  template<typename Dispatch = DispatchLoaderStatic>
31421  void free( DeviceMemory memory, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31422 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31423 
31424  template<typename Dispatch = DispatchLoaderStatic>
31425  Result mapMemory( DeviceMemory memory, DeviceSize offset, DeviceSize size, MemoryMapFlags flags, void** ppData, Dispatch const &d = Dispatch() ) const;
31426 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31427  template<typename Dispatch = DispatchLoaderStatic>
31429 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31430 
31431  template<typename Dispatch = DispatchLoaderStatic>
31432  void unmapMemory( DeviceMemory memory, Dispatch const &d = Dispatch() ) const;
31433 
31434  template<typename Dispatch = DispatchLoaderStatic>
31435  Result flushMappedMemoryRanges( uint32_t memoryRangeCount, const MappedMemoryRange* pMemoryRanges, Dispatch const &d = Dispatch() ) const;
31436 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31437  template<typename Dispatch = DispatchLoaderStatic>
31438  ResultValueType<void>::type flushMappedMemoryRanges( ArrayProxy<const MappedMemoryRange> memoryRanges, Dispatch const &d = Dispatch() ) const;
31439 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31440 
31441  template<typename Dispatch = DispatchLoaderStatic>
31442  Result invalidateMappedMemoryRanges( uint32_t memoryRangeCount, const MappedMemoryRange* pMemoryRanges, Dispatch const &d = Dispatch() ) const;
31443 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31444  template<typename Dispatch = DispatchLoaderStatic>
31445  ResultValueType<void>::type invalidateMappedMemoryRanges( ArrayProxy<const MappedMemoryRange> memoryRanges, Dispatch const &d = Dispatch() ) const;
31446 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31447 
31448  template<typename Dispatch = DispatchLoaderStatic>
31449  void getMemoryCommitment( DeviceMemory memory, DeviceSize* pCommittedMemoryInBytes, Dispatch const &d = Dispatch() ) const;
31450 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31451  template<typename Dispatch = DispatchLoaderStatic>
31452  DeviceSize getMemoryCommitment( DeviceMemory memory, Dispatch const &d = Dispatch() ) const;
31453 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31454 
31455  template<typename Dispatch = DispatchLoaderStatic>
31456  void getBufferMemoryRequirements( Buffer buffer, MemoryRequirements* pMemoryRequirements, Dispatch const &d = Dispatch() ) const;
31457 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31458  template<typename Dispatch = DispatchLoaderStatic>
31459  MemoryRequirements getBufferMemoryRequirements( Buffer buffer, Dispatch const &d = Dispatch() ) const;
31460 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31461 
31462 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31463  template<typename Dispatch = DispatchLoaderStatic>
31464  Result bindBufferMemory( Buffer buffer, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const &d = Dispatch() ) const;
31465 #else
31466  template<typename Dispatch = DispatchLoaderStatic>
31467  ResultValueType<void>::type bindBufferMemory( Buffer buffer, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const &d = Dispatch() ) const;
31468 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31469 
31470  template<typename Dispatch = DispatchLoaderStatic>
31471  void getImageMemoryRequirements( Image image, MemoryRequirements* pMemoryRequirements, Dispatch const &d = Dispatch() ) const;
31472 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31473  template<typename Dispatch = DispatchLoaderStatic>
31474  MemoryRequirements getImageMemoryRequirements( Image image, Dispatch const &d = Dispatch() ) const;
31475 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31476 
31477 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31478  template<typename Dispatch = DispatchLoaderStatic>
31479  Result bindImageMemory( Image image, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const &d = Dispatch() ) const;
31480 #else
31481  template<typename Dispatch = DispatchLoaderStatic>
31482  ResultValueType<void>::type bindImageMemory( Image image, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const &d = Dispatch() ) const;
31483 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31484 
31485  template<typename Dispatch = DispatchLoaderStatic>
31486  void getImageSparseMemoryRequirements( Image image, uint32_t* pSparseMemoryRequirementCount, SparseImageMemoryRequirements* pSparseMemoryRequirements, Dispatch const &d = Dispatch() ) const;
31487 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31488  template <typename Allocator = std::allocator<SparseImageMemoryRequirements>, typename Dispatch = DispatchLoaderStatic>
31489  std::vector<SparseImageMemoryRequirements,Allocator> getImageSparseMemoryRequirements( Image image, Dispatch const &d = Dispatch() ) const;
31490 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31491 
31492  template<typename Dispatch = DispatchLoaderStatic>
31493  Result createFence( const FenceCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Fence* pFence, Dispatch const &d = Dispatch() ) const;
31494 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31495  template<typename Dispatch = DispatchLoaderStatic>
31496  ResultValueType<Fence>::type createFence( const FenceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31497 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31498  template<typename Dispatch = DispatchLoaderStatic>
31499  ResultValueType<UniqueFence>::type createFenceUnique( const FenceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31500 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31501 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31502 
31503  template<typename Dispatch = DispatchLoaderStatic>
31504  void destroyFence( Fence fence, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31505 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31506  template<typename Dispatch = DispatchLoaderStatic>
31507  void destroyFence( Fence fence, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31508 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31509 
31510  template<typename Dispatch = DispatchLoaderStatic>
31511  void destroy( Fence fence, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31512 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31513  template<typename Dispatch = DispatchLoaderStatic>
31514  void destroy( Fence fence, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31515 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31516 
31517  template<typename Dispatch = DispatchLoaderStatic>
31518  Result resetFences( uint32_t fenceCount, const Fence* pFences, Dispatch const &d = Dispatch() ) const;
31519 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31520  template<typename Dispatch = DispatchLoaderStatic>
31521  ResultValueType<void>::type resetFences( ArrayProxy<const Fence> fences, Dispatch const &d = Dispatch() ) const;
31522 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31523 
31524  template<typename Dispatch = DispatchLoaderStatic>
31525  Result getFenceStatus( Fence fence, Dispatch const &d = Dispatch() ) const;
31526 
31527  template<typename Dispatch = DispatchLoaderStatic>
31528  Result waitForFences( uint32_t fenceCount, const Fence* pFences, Bool32 waitAll, uint64_t timeout, Dispatch const &d = Dispatch() ) const;
31529 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31530  template<typename Dispatch = DispatchLoaderStatic>
31531  Result waitForFences( ArrayProxy<const Fence> fences, Bool32 waitAll, uint64_t timeout, Dispatch const &d = Dispatch() ) const;
31532 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31533 
31534  template<typename Dispatch = DispatchLoaderStatic>
31535  Result createSemaphore( const SemaphoreCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Semaphore* pSemaphore, Dispatch const &d = Dispatch() ) const;
31536 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31537  template<typename Dispatch = DispatchLoaderStatic>
31538  ResultValueType<Semaphore>::type createSemaphore( const SemaphoreCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31539 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31540  template<typename Dispatch = DispatchLoaderStatic>
31541  ResultValueType<UniqueSemaphore>::type createSemaphoreUnique( const SemaphoreCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31542 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31543 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31544 
31545  template<typename Dispatch = DispatchLoaderStatic>
31546  void destroySemaphore( Semaphore semaphore, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31547 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31548  template<typename Dispatch = DispatchLoaderStatic>
31549  void destroySemaphore( Semaphore semaphore, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31550 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31551 
31552  template<typename Dispatch = DispatchLoaderStatic>
31553  void destroy( Semaphore semaphore, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31554 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31555  template<typename Dispatch = DispatchLoaderStatic>
31556  void destroy( Semaphore semaphore, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31557 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31558 
31559  template<typename Dispatch = DispatchLoaderStatic>
31560  Result createEvent( const EventCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Event* pEvent, Dispatch const &d = Dispatch() ) const;
31561 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31562  template<typename Dispatch = DispatchLoaderStatic>
31563  ResultValueType<Event>::type createEvent( const EventCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31564 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31565  template<typename Dispatch = DispatchLoaderStatic>
31566  ResultValueType<UniqueEvent>::type createEventUnique( const EventCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31567 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31568 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31569 
31570  template<typename Dispatch = DispatchLoaderStatic>
31571  void destroyEvent( Event event, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31572 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31573  template<typename Dispatch = DispatchLoaderStatic>
31574  void destroyEvent( Event event, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31575 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31576 
31577  template<typename Dispatch = DispatchLoaderStatic>
31578  void destroy( Event event, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31579 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31580  template<typename Dispatch = DispatchLoaderStatic>
31581  void destroy( Event event, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31582 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31583 
31584  template<typename Dispatch = DispatchLoaderStatic>
31585  Result getEventStatus( Event event, Dispatch const &d = Dispatch() ) const;
31586 
31587 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31588  template<typename Dispatch = DispatchLoaderStatic>
31589  Result setEvent( Event event, Dispatch const &d = Dispatch() ) const;
31590 #else
31591  template<typename Dispatch = DispatchLoaderStatic>
31592  ResultValueType<void>::type setEvent( Event event, Dispatch const &d = Dispatch() ) const;
31593 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31594 
31595 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31596  template<typename Dispatch = DispatchLoaderStatic>
31597  Result resetEvent( Event event, Dispatch const &d = Dispatch() ) const;
31598 #else
31599  template<typename Dispatch = DispatchLoaderStatic>
31600  ResultValueType<void>::type resetEvent( Event event, Dispatch const &d = Dispatch() ) const;
31601 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31602 
31603  template<typename Dispatch = DispatchLoaderStatic>
31604  Result createQueryPool( const QueryPoolCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, QueryPool* pQueryPool, Dispatch const &d = Dispatch() ) const;
31605 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31606  template<typename Dispatch = DispatchLoaderStatic>
31607  ResultValueType<QueryPool>::type createQueryPool( const QueryPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31608 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31609  template<typename Dispatch = DispatchLoaderStatic>
31610  ResultValueType<UniqueQueryPool>::type createQueryPoolUnique( const QueryPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31611 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31612 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31613 
31614  template<typename Dispatch = DispatchLoaderStatic>
31615  void destroyQueryPool( QueryPool queryPool, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31616 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31617  template<typename Dispatch = DispatchLoaderStatic>
31618  void destroyQueryPool( QueryPool queryPool, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31619 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31620 
31621  template<typename Dispatch = DispatchLoaderStatic>
31622  void destroy( QueryPool queryPool, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31623 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31624  template<typename Dispatch = DispatchLoaderStatic>
31625  void destroy( QueryPool queryPool, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31626 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31627 
31628  template<typename Dispatch = DispatchLoaderStatic>
31629  Result getQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, DeviceSize stride, QueryResultFlags flags, Dispatch const &d = Dispatch() ) const;
31630 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31631  template <typename T, typename Dispatch = DispatchLoaderStatic>
31632  Result getQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, ArrayProxy<T> data, DeviceSize stride, QueryResultFlags flags, Dispatch const &d = Dispatch() ) const;
31633 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31634 
31635  template<typename Dispatch = DispatchLoaderStatic>
31636  Result createBuffer( const BufferCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Buffer* pBuffer, Dispatch const &d = Dispatch() ) const;
31637 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31638  template<typename Dispatch = DispatchLoaderStatic>
31639  ResultValueType<Buffer>::type createBuffer( const BufferCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31640 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31641  template<typename Dispatch = DispatchLoaderStatic>
31642  ResultValueType<UniqueBuffer>::type createBufferUnique( const BufferCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31643 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31644 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31645 
31646  template<typename Dispatch = DispatchLoaderStatic>
31647  void destroyBuffer( Buffer buffer, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31648 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31649  template<typename Dispatch = DispatchLoaderStatic>
31650  void destroyBuffer( Buffer buffer, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31651 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31652 
31653  template<typename Dispatch = DispatchLoaderStatic>
31654  void destroy( Buffer buffer, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31655 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31656  template<typename Dispatch = DispatchLoaderStatic>
31657  void destroy( Buffer buffer, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31658 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31659 
31660  template<typename Dispatch = DispatchLoaderStatic>
31661  Result createBufferView( const BufferViewCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, BufferView* pView, Dispatch const &d = Dispatch() ) const;
31662 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31663  template<typename Dispatch = DispatchLoaderStatic>
31664  ResultValueType<BufferView>::type createBufferView( const BufferViewCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31665 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31666  template<typename Dispatch = DispatchLoaderStatic>
31667  ResultValueType<UniqueBufferView>::type createBufferViewUnique( const BufferViewCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31668 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31669 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31670 
31671  template<typename Dispatch = DispatchLoaderStatic>
31672  void destroyBufferView( BufferView bufferView, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31673 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31674  template<typename Dispatch = DispatchLoaderStatic>
31675  void destroyBufferView( BufferView bufferView, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31676 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31677 
31678  template<typename Dispatch = DispatchLoaderStatic>
31679  void destroy( BufferView bufferView, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31680 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31681  template<typename Dispatch = DispatchLoaderStatic>
31682  void destroy( BufferView bufferView, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31683 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31684 
31685  template<typename Dispatch = DispatchLoaderStatic>
31686  Result createImage( const ImageCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Image* pImage, Dispatch const &d = Dispatch() ) const;
31687 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31688  template<typename Dispatch = DispatchLoaderStatic>
31689  ResultValueType<Image>::type createImage( const ImageCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31690 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31691  template<typename Dispatch = DispatchLoaderStatic>
31692  ResultValueType<UniqueImage>::type createImageUnique( const ImageCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31693 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31694 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31695 
31696  template<typename Dispatch = DispatchLoaderStatic>
31697  void destroyImage( Image image, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31698 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31699  template<typename Dispatch = DispatchLoaderStatic>
31700  void destroyImage( Image image, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31701 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31702 
31703  template<typename Dispatch = DispatchLoaderStatic>
31704  void destroy( Image image, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31705 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31706  template<typename Dispatch = DispatchLoaderStatic>
31707  void destroy( Image image, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31708 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31709 
31710  template<typename Dispatch = DispatchLoaderStatic>
31711  void getImageSubresourceLayout( Image image, const ImageSubresource* pSubresource, SubresourceLayout* pLayout, Dispatch const &d = Dispatch() ) const;
31712 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31713  template<typename Dispatch = DispatchLoaderStatic>
31714  SubresourceLayout getImageSubresourceLayout( Image image, const ImageSubresource & subresource, Dispatch const &d = Dispatch() ) const;
31715 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31716 
31717  template<typename Dispatch = DispatchLoaderStatic>
31718  Result createImageView( const ImageViewCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, ImageView* pView, Dispatch const &d = Dispatch() ) const;
31719 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31720  template<typename Dispatch = DispatchLoaderStatic>
31721  ResultValueType<ImageView>::type createImageView( const ImageViewCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31722 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31723  template<typename Dispatch = DispatchLoaderStatic>
31724  ResultValueType<UniqueImageView>::type createImageViewUnique( const ImageViewCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31725 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31726 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31727 
31728  template<typename Dispatch = DispatchLoaderStatic>
31729  void destroyImageView( ImageView imageView, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31730 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31731  template<typename Dispatch = DispatchLoaderStatic>
31732  void destroyImageView( ImageView imageView, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31733 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31734 
31735  template<typename Dispatch = DispatchLoaderStatic>
31736  void destroy( ImageView imageView, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31737 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31738  template<typename Dispatch = DispatchLoaderStatic>
31739  void destroy( ImageView imageView, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31740 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31741 
31742  template<typename Dispatch = DispatchLoaderStatic>
31743  Result createShaderModule( const ShaderModuleCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, ShaderModule* pShaderModule, Dispatch const &d = Dispatch() ) const;
31744 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31745  template<typename Dispatch = DispatchLoaderStatic>
31746  ResultValueType<ShaderModule>::type createShaderModule( const ShaderModuleCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31747 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31748  template<typename Dispatch = DispatchLoaderStatic>
31749  ResultValueType<UniqueShaderModule>::type createShaderModuleUnique( const ShaderModuleCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31750 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31751 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31752 
31753  template<typename Dispatch = DispatchLoaderStatic>
31754  void destroyShaderModule( ShaderModule shaderModule, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31755 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31756  template<typename Dispatch = DispatchLoaderStatic>
31757  void destroyShaderModule( ShaderModule shaderModule, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31758 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31759 
31760  template<typename Dispatch = DispatchLoaderStatic>
31761  void destroy( ShaderModule shaderModule, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31762 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31763  template<typename Dispatch = DispatchLoaderStatic>
31764  void destroy( ShaderModule shaderModule, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31765 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31766 
31767  template<typename Dispatch = DispatchLoaderStatic>
31768  Result createPipelineCache( const PipelineCacheCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, PipelineCache* pPipelineCache, Dispatch const &d = Dispatch() ) const;
31769 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31770  template<typename Dispatch = DispatchLoaderStatic>
31771  ResultValueType<PipelineCache>::type createPipelineCache( const PipelineCacheCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31772 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31773  template<typename Dispatch = DispatchLoaderStatic>
31774  ResultValueType<UniquePipelineCache>::type createPipelineCacheUnique( const PipelineCacheCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31775 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31776 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31777 
31778  template<typename Dispatch = DispatchLoaderStatic>
31779  void destroyPipelineCache( PipelineCache pipelineCache, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31780 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31781  template<typename Dispatch = DispatchLoaderStatic>
31782  void destroyPipelineCache( PipelineCache pipelineCache, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31783 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31784 
31785  template<typename Dispatch = DispatchLoaderStatic>
31786  void destroy( PipelineCache pipelineCache, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31787 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31788  template<typename Dispatch = DispatchLoaderStatic>
31789  void destroy( PipelineCache pipelineCache, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31790 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31791 
31792  template<typename Dispatch = DispatchLoaderStatic>
31793  Result getPipelineCacheData( PipelineCache pipelineCache, size_t* pDataSize, void* pData, Dispatch const &d = Dispatch() ) const;
31794 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31795  template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = DispatchLoaderStatic>
31796  typename ResultValueType<std::vector<uint8_t,Allocator>>::type getPipelineCacheData( PipelineCache pipelineCache, Dispatch const &d = Dispatch() ) const;
31797 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31798 
31799  template<typename Dispatch = DispatchLoaderStatic>
31800  Result mergePipelineCaches( PipelineCache dstCache, uint32_t srcCacheCount, const PipelineCache* pSrcCaches, Dispatch const &d = Dispatch() ) const;
31801 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31802  template<typename Dispatch = DispatchLoaderStatic>
31803  ResultValueType<void>::type mergePipelineCaches( PipelineCache dstCache, ArrayProxy<const PipelineCache> srcCaches, Dispatch const &d = Dispatch() ) const;
31804 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31805 
31806  template<typename Dispatch = DispatchLoaderStatic>
31807  Result createGraphicsPipelines( PipelineCache pipelineCache, uint32_t createInfoCount, const GraphicsPipelineCreateInfo* pCreateInfos, const AllocationCallbacks* pAllocator, Pipeline* pPipelines, Dispatch const &d = Dispatch() ) const;
31808 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31809  template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = DispatchLoaderStatic>
31810  typename ResultValueType<std::vector<Pipeline,Allocator>>::type createGraphicsPipelines( PipelineCache pipelineCache, ArrayProxy<const GraphicsPipelineCreateInfo> createInfos, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31811  template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = DispatchLoaderStatic>
31812  ResultValueType<Pipeline>::type createGraphicsPipeline( PipelineCache pipelineCache, const GraphicsPipelineCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31813 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31814  template <typename Allocator = std::allocator<UniquePipeline>, typename Dispatch = DispatchLoaderStatic>
31816  template <typename Allocator = std::allocator<UniquePipeline>, typename Dispatch = DispatchLoaderStatic>
31817  ResultValueType<UniquePipeline>::type createGraphicsPipelineUnique( PipelineCache pipelineCache, const GraphicsPipelineCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31818 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31819 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31820 
31821  template<typename Dispatch = DispatchLoaderStatic>
31822  Result createComputePipelines( PipelineCache pipelineCache, uint32_t createInfoCount, const ComputePipelineCreateInfo* pCreateInfos, const AllocationCallbacks* pAllocator, Pipeline* pPipelines, Dispatch const &d = Dispatch() ) const;
31823 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31824  template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = DispatchLoaderStatic>
31825  typename ResultValueType<std::vector<Pipeline,Allocator>>::type createComputePipelines( PipelineCache pipelineCache, ArrayProxy<const ComputePipelineCreateInfo> createInfos, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31826  template <typename Allocator = std::allocator<Pipeline>, typename Dispatch = DispatchLoaderStatic>
31827  ResultValueType<Pipeline>::type createComputePipeline( PipelineCache pipelineCache, const ComputePipelineCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31828 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31829  template <typename Allocator = std::allocator<UniquePipeline>, typename Dispatch = DispatchLoaderStatic>
31831  template <typename Allocator = std::allocator<UniquePipeline>, typename Dispatch = DispatchLoaderStatic>
31832  ResultValueType<UniquePipeline>::type createComputePipelineUnique( PipelineCache pipelineCache, const ComputePipelineCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31833 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31834 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31835 
31836  template<typename Dispatch = DispatchLoaderStatic>
31837  void destroyPipeline( Pipeline pipeline, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31838 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31839  template<typename Dispatch = DispatchLoaderStatic>
31840  void destroyPipeline( Pipeline pipeline, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31841 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31842 
31843  template<typename Dispatch = DispatchLoaderStatic>
31844  void destroy( Pipeline pipeline, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31845 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31846  template<typename Dispatch = DispatchLoaderStatic>
31847  void destroy( Pipeline pipeline, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31848 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31849 
31850  template<typename Dispatch = DispatchLoaderStatic>
31851  Result createPipelineLayout( const PipelineLayoutCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, PipelineLayout* pPipelineLayout, Dispatch const &d = Dispatch() ) const;
31852 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31853  template<typename Dispatch = DispatchLoaderStatic>
31854  ResultValueType<PipelineLayout>::type createPipelineLayout( const PipelineLayoutCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31855 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31856  template<typename Dispatch = DispatchLoaderStatic>
31857  ResultValueType<UniquePipelineLayout>::type createPipelineLayoutUnique( const PipelineLayoutCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31858 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31859 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31860 
31861  template<typename Dispatch = DispatchLoaderStatic>
31862  void destroyPipelineLayout( PipelineLayout pipelineLayout, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31863 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31864  template<typename Dispatch = DispatchLoaderStatic>
31865  void destroyPipelineLayout( PipelineLayout pipelineLayout, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31866 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31867 
31868  template<typename Dispatch = DispatchLoaderStatic>
31869  void destroy( PipelineLayout pipelineLayout, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31870 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31871  template<typename Dispatch = DispatchLoaderStatic>
31872  void destroy( PipelineLayout pipelineLayout, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31873 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31874 
31875  template<typename Dispatch = DispatchLoaderStatic>
31876  Result createSampler( const SamplerCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Sampler* pSampler, Dispatch const &d = Dispatch() ) const;
31877 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31878  template<typename Dispatch = DispatchLoaderStatic>
31879  ResultValueType<Sampler>::type createSampler( const SamplerCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31880 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31881  template<typename Dispatch = DispatchLoaderStatic>
31882  ResultValueType<UniqueSampler>::type createSamplerUnique( const SamplerCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31883 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31884 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31885 
31886  template<typename Dispatch = DispatchLoaderStatic>
31887  void destroySampler( Sampler sampler, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31888 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31889  template<typename Dispatch = DispatchLoaderStatic>
31890  void destroySampler( Sampler sampler, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31891 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31892 
31893  template<typename Dispatch = DispatchLoaderStatic>
31894  void destroy( Sampler sampler, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31895 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31896  template<typename Dispatch = DispatchLoaderStatic>
31897  void destroy( Sampler sampler, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31898 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31899 
31900  template<typename Dispatch = DispatchLoaderStatic>
31901  Result createDescriptorSetLayout( const DescriptorSetLayoutCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, DescriptorSetLayout* pSetLayout, Dispatch const &d = Dispatch() ) const;
31902 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31903  template<typename Dispatch = DispatchLoaderStatic>
31904  ResultValueType<DescriptorSetLayout>::type createDescriptorSetLayout( const DescriptorSetLayoutCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31905 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31906  template<typename Dispatch = DispatchLoaderStatic>
31908 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31909 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31910 
31911  template<typename Dispatch = DispatchLoaderStatic>
31912  void destroyDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31913 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31914  template<typename Dispatch = DispatchLoaderStatic>
31915  void destroyDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31916 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31917 
31918  template<typename Dispatch = DispatchLoaderStatic>
31919  void destroy( DescriptorSetLayout descriptorSetLayout, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31920 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31921  template<typename Dispatch = DispatchLoaderStatic>
31922  void destroy( DescriptorSetLayout descriptorSetLayout, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31923 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31924 
31925  template<typename Dispatch = DispatchLoaderStatic>
31926  Result createDescriptorPool( const DescriptorPoolCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, DescriptorPool* pDescriptorPool, Dispatch const &d = Dispatch() ) const;
31927 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31928  template<typename Dispatch = DispatchLoaderStatic>
31929  ResultValueType<DescriptorPool>::type createDescriptorPool( const DescriptorPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31930 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31931  template<typename Dispatch = DispatchLoaderStatic>
31932  ResultValueType<UniqueDescriptorPool>::type createDescriptorPoolUnique( const DescriptorPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31933 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31934 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31935 
31936  template<typename Dispatch = DispatchLoaderStatic>
31937  void destroyDescriptorPool( DescriptorPool descriptorPool, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31938 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31939  template<typename Dispatch = DispatchLoaderStatic>
31940  void destroyDescriptorPool( DescriptorPool descriptorPool, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31941 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31942 
31943  template<typename Dispatch = DispatchLoaderStatic>
31944  void destroy( DescriptorPool descriptorPool, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
31945 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31946  template<typename Dispatch = DispatchLoaderStatic>
31947  void destroy( DescriptorPool descriptorPool, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31948 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31949 
31950 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
31951  template<typename Dispatch = DispatchLoaderStatic>
31952  Result resetDescriptorPool( DescriptorPool descriptorPool, DescriptorPoolResetFlags flags = DescriptorPoolResetFlags(), Dispatch const &d = Dispatch() ) const;
31953 #else
31954  template<typename Dispatch = DispatchLoaderStatic>
31956 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31957 
31958  template<typename Dispatch = DispatchLoaderStatic>
31959  Result allocateDescriptorSets( const DescriptorSetAllocateInfo* pAllocateInfo, DescriptorSet* pDescriptorSets, Dispatch const &d = Dispatch() ) const;
31960 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31961  template <typename Allocator = std::allocator<DescriptorSet>, typename Dispatch = DispatchLoaderStatic>
31962  typename ResultValueType<std::vector<DescriptorSet,Allocator>>::type allocateDescriptorSets( const DescriptorSetAllocateInfo & allocateInfo, Dispatch const &d = Dispatch() ) const;
31963 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31964  template <typename Allocator = std::allocator<UniqueDescriptorSet>, typename Dispatch = DispatchLoaderStatic>
31965  typename ResultValueType<std::vector<UniqueDescriptorSet,Allocator>>::type allocateDescriptorSetsUnique( const DescriptorSetAllocateInfo & allocateInfo, Dispatch const &d = Dispatch() ) const;
31966 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31967 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31968 
31969  template<typename Dispatch = DispatchLoaderStatic>
31970  Result freeDescriptorSets( DescriptorPool descriptorPool, uint32_t descriptorSetCount, const DescriptorSet* pDescriptorSets, Dispatch const &d = Dispatch() ) const;
31971 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31972  template<typename Dispatch = DispatchLoaderStatic>
31973  ResultValueType<void>::type freeDescriptorSets( DescriptorPool descriptorPool, ArrayProxy<const DescriptorSet> descriptorSets, Dispatch const &d = Dispatch() ) const;
31974 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31975 
31976  template<typename Dispatch = DispatchLoaderStatic>
31977  Result free( DescriptorPool descriptorPool, uint32_t descriptorSetCount, const DescriptorSet* pDescriptorSets, Dispatch const &d = Dispatch() ) const;
31978 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31979  template<typename Dispatch = DispatchLoaderStatic>
31980  ResultValueType<void>::type free( DescriptorPool descriptorPool, ArrayProxy<const DescriptorSet> descriptorSets, Dispatch const &d = Dispatch() ) const;
31981 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31982 
31983  template<typename Dispatch = DispatchLoaderStatic>
31984  void updateDescriptorSets( uint32_t descriptorWriteCount, const WriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const CopyDescriptorSet* pDescriptorCopies, Dispatch const &d = Dispatch() ) const;
31985 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31986  template<typename Dispatch = DispatchLoaderStatic>
31987  void updateDescriptorSets( ArrayProxy<const WriteDescriptorSet> descriptorWrites, ArrayProxy<const CopyDescriptorSet> descriptorCopies, Dispatch const &d = Dispatch() ) const;
31988 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
31989 
31990  template<typename Dispatch = DispatchLoaderStatic>
31991  Result createFramebuffer( const FramebufferCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Framebuffer* pFramebuffer, Dispatch const &d = Dispatch() ) const;
31992 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
31993  template<typename Dispatch = DispatchLoaderStatic>
31994  ResultValueType<Framebuffer>::type createFramebuffer( const FramebufferCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31995 #ifndef VULKAN_HPP_NO_SMART_HANDLE
31996  template<typename Dispatch = DispatchLoaderStatic>
31997  ResultValueType<UniqueFramebuffer>::type createFramebufferUnique( const FramebufferCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
31998 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
31999 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32000 
32001  template<typename Dispatch = DispatchLoaderStatic>
32002  void destroyFramebuffer( Framebuffer framebuffer, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32003 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32004  template<typename Dispatch = DispatchLoaderStatic>
32005  void destroyFramebuffer( Framebuffer framebuffer, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32006 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32007 
32008  template<typename Dispatch = DispatchLoaderStatic>
32009  void destroy( Framebuffer framebuffer, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32010 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32011  template<typename Dispatch = DispatchLoaderStatic>
32012  void destroy( Framebuffer framebuffer, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32013 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32014 
32015  template<typename Dispatch = DispatchLoaderStatic>
32016  Result createRenderPass( const RenderPassCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, RenderPass* pRenderPass, Dispatch const &d = Dispatch() ) const;
32017 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32018  template<typename Dispatch = DispatchLoaderStatic>
32019  ResultValueType<RenderPass>::type createRenderPass( const RenderPassCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32020 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32021  template<typename Dispatch = DispatchLoaderStatic>
32022  ResultValueType<UniqueRenderPass>::type createRenderPassUnique( const RenderPassCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32023 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32024 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32025 
32026  template<typename Dispatch = DispatchLoaderStatic>
32027  void destroyRenderPass( RenderPass renderPass, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32028 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32029  template<typename Dispatch = DispatchLoaderStatic>
32030  void destroyRenderPass( RenderPass renderPass, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32031 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32032 
32033  template<typename Dispatch = DispatchLoaderStatic>
32034  void destroy( RenderPass renderPass, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32035 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32036  template<typename Dispatch = DispatchLoaderStatic>
32037  void destroy( RenderPass renderPass, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32038 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32039 
32040  template<typename Dispatch = DispatchLoaderStatic>
32041  void getRenderAreaGranularity( RenderPass renderPass, Extent2D* pGranularity, Dispatch const &d = Dispatch() ) const;
32042 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32043  template<typename Dispatch = DispatchLoaderStatic>
32044  Extent2D getRenderAreaGranularity( RenderPass renderPass, Dispatch const &d = Dispatch() ) const;
32045 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32046 
32047  template<typename Dispatch = DispatchLoaderStatic>
32048  Result createCommandPool( const CommandPoolCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, CommandPool* pCommandPool, Dispatch const &d = Dispatch() ) const;
32049 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32050  template<typename Dispatch = DispatchLoaderStatic>
32051  ResultValueType<CommandPool>::type createCommandPool( const CommandPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32052 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32053  template<typename Dispatch = DispatchLoaderStatic>
32054  ResultValueType<UniqueCommandPool>::type createCommandPoolUnique( const CommandPoolCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32055 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32056 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32057 
32058  template<typename Dispatch = DispatchLoaderStatic>
32059  void destroyCommandPool( CommandPool commandPool, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32060 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32061  template<typename Dispatch = DispatchLoaderStatic>
32062  void destroyCommandPool( CommandPool commandPool, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32063 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32064 
32065  template<typename Dispatch = DispatchLoaderStatic>
32066  void destroy( CommandPool commandPool, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32067 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32068  template<typename Dispatch = DispatchLoaderStatic>
32069  void destroy( CommandPool commandPool, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32070 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32071 
32072 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
32073  template<typename Dispatch = DispatchLoaderStatic>
32074  Result resetCommandPool( CommandPool commandPool, CommandPoolResetFlags flags, Dispatch const &d = Dispatch() ) const;
32075 #else
32076  template<typename Dispatch = DispatchLoaderStatic>
32077  ResultValueType<void>::type resetCommandPool( CommandPool commandPool, CommandPoolResetFlags flags, Dispatch const &d = Dispatch() ) const;
32078 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32079 
32080  template<typename Dispatch = DispatchLoaderStatic>
32081  Result allocateCommandBuffers( const CommandBufferAllocateInfo* pAllocateInfo, CommandBuffer* pCommandBuffers, Dispatch const &d = Dispatch() ) const;
32082 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32083  template <typename Allocator = std::allocator<CommandBuffer>, typename Dispatch = DispatchLoaderStatic>
32084  typename ResultValueType<std::vector<CommandBuffer,Allocator>>::type allocateCommandBuffers( const CommandBufferAllocateInfo & allocateInfo, Dispatch const &d = Dispatch() ) const;
32085 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32086  template <typename Allocator = std::allocator<UniqueCommandBuffer>, typename Dispatch = DispatchLoaderStatic>
32087  typename ResultValueType<std::vector<UniqueCommandBuffer,Allocator>>::type allocateCommandBuffersUnique( const CommandBufferAllocateInfo & allocateInfo, Dispatch const &d = Dispatch() ) const;
32088 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32089 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32090 
32091  template<typename Dispatch = DispatchLoaderStatic>
32092  void freeCommandBuffers( CommandPool commandPool, uint32_t commandBufferCount, const CommandBuffer* pCommandBuffers, Dispatch const &d = Dispatch() ) const;
32093 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32094  template<typename Dispatch = DispatchLoaderStatic>
32095  void freeCommandBuffers( CommandPool commandPool, ArrayProxy<const CommandBuffer> commandBuffers, Dispatch const &d = Dispatch() ) const;
32096 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32097 
32098  template<typename Dispatch = DispatchLoaderStatic>
32099  void free( CommandPool commandPool, uint32_t commandBufferCount, const CommandBuffer* pCommandBuffers, Dispatch const &d = Dispatch() ) const;
32100 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32101  template<typename Dispatch = DispatchLoaderStatic>
32102  void free( CommandPool commandPool, ArrayProxy<const CommandBuffer> commandBuffers, Dispatch const &d = Dispatch() ) const;
32103 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32104 
32105  template<typename Dispatch = DispatchLoaderStatic>
32106  Result createSharedSwapchainsKHR( uint32_t swapchainCount, const SwapchainCreateInfoKHR* pCreateInfos, const AllocationCallbacks* pAllocator, SwapchainKHR* pSwapchains, Dispatch const &d = Dispatch() ) const;
32107 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32108  template <typename Allocator = std::allocator<SwapchainKHR>, typename Dispatch = DispatchLoaderStatic>
32110  template <typename Allocator = std::allocator<SwapchainKHR>, typename Dispatch = DispatchLoaderStatic>
32111  ResultValueType<SwapchainKHR>::type createSharedSwapchainKHR( const SwapchainCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32112 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32113  template <typename Allocator = std::allocator<UniqueSwapchainKHR>, typename Dispatch = DispatchLoaderStatic>
32115  template <typename Allocator = std::allocator<UniqueSwapchainKHR>, typename Dispatch = DispatchLoaderStatic>
32116  ResultValueType<UniqueSwapchainKHR>::type createSharedSwapchainKHRUnique( const SwapchainCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32117 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32118 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32119 
32120  template<typename Dispatch = DispatchLoaderStatic>
32121  Result createSwapchainKHR( const SwapchainCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SwapchainKHR* pSwapchain, Dispatch const &d = Dispatch() ) const;
32122 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32123  template<typename Dispatch = DispatchLoaderStatic>
32124  ResultValueType<SwapchainKHR>::type createSwapchainKHR( const SwapchainCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32125 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32126  template<typename Dispatch = DispatchLoaderStatic>
32127  ResultValueType<UniqueSwapchainKHR>::type createSwapchainKHRUnique( const SwapchainCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32128 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32129 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32130 
32131  template<typename Dispatch = DispatchLoaderStatic>
32132  void destroySwapchainKHR( SwapchainKHR swapchain, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32133 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32134  template<typename Dispatch = DispatchLoaderStatic>
32135  void destroySwapchainKHR( SwapchainKHR swapchain, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32136 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32137 
32138  template<typename Dispatch = DispatchLoaderStatic>
32139  void destroy( SwapchainKHR swapchain, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32140 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32141  template<typename Dispatch = DispatchLoaderStatic>
32142  void destroy( SwapchainKHR swapchain, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32143 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32144 
32145  template<typename Dispatch = DispatchLoaderStatic>
32146  Result getSwapchainImagesKHR( SwapchainKHR swapchain, uint32_t* pSwapchainImageCount, Image* pSwapchainImages, Dispatch const &d = Dispatch() ) const;
32147 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32148  template <typename Allocator = std::allocator<Image>, typename Dispatch = DispatchLoaderStatic>
32149  typename ResultValueType<std::vector<Image,Allocator>>::type getSwapchainImagesKHR( SwapchainKHR swapchain, Dispatch const &d = Dispatch() ) const;
32150 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32151 
32152  template<typename Dispatch = DispatchLoaderStatic>
32153  Result acquireNextImageKHR( SwapchainKHR swapchain, uint64_t timeout, Semaphore semaphore, Fence fence, uint32_t* pImageIndex, Dispatch const &d = Dispatch() ) const;
32154 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32155  template<typename Dispatch = DispatchLoaderStatic>
32156  ResultValue<uint32_t> acquireNextImageKHR( SwapchainKHR swapchain, uint64_t timeout, Semaphore semaphore, Fence fence, Dispatch const &d = Dispatch() ) const;
32157 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32158 
32159  template<typename Dispatch = DispatchLoaderStatic>
32160  Result debugMarkerSetObjectNameEXT( const DebugMarkerObjectNameInfoEXT* pNameInfo, Dispatch const &d = Dispatch() ) const;
32161 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32162  template<typename Dispatch = DispatchLoaderStatic>
32163  ResultValueType<void>::type debugMarkerSetObjectNameEXT( const DebugMarkerObjectNameInfoEXT & nameInfo, Dispatch const &d = Dispatch() ) const;
32164 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32165 
32166  template<typename Dispatch = DispatchLoaderStatic>
32167  Result debugMarkerSetObjectTagEXT( const DebugMarkerObjectTagInfoEXT* pTagInfo, Dispatch const &d = Dispatch() ) const;
32168 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32169  template<typename Dispatch = DispatchLoaderStatic>
32170  ResultValueType<void>::type debugMarkerSetObjectTagEXT( const DebugMarkerObjectTagInfoEXT & tagInfo, Dispatch const &d = Dispatch() ) const;
32171 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32172 
32173 #ifdef VK_USE_PLATFORM_WIN32_NV
32174  template<typename Dispatch = DispatchLoaderStatic>
32175  Result getMemoryWin32HandleNV( DeviceMemory memory, ExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle, Dispatch const &d = Dispatch() ) const;
32176 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32177  template<typename Dispatch = DispatchLoaderStatic>
32178  ResultValueType<HANDLE>::type getMemoryWin32HandleNV( DeviceMemory memory, ExternalMemoryHandleTypeFlagsNV handleType, Dispatch const &d = Dispatch() ) const;
32179 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32180 #endif /*VK_USE_PLATFORM_WIN32_NV*/
32181 
32182  template<typename Dispatch = DispatchLoaderStatic>
32183  Result createIndirectCommandsLayoutNVX( const IndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const AllocationCallbacks* pAllocator, IndirectCommandsLayoutNVX* pIndirectCommandsLayout, Dispatch const &d = Dispatch() ) const;
32184 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32185  template<typename Dispatch = DispatchLoaderStatic>
32187 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32188  template<typename Dispatch = DispatchLoaderStatic>
32190 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32191 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32192 
32193  template<typename Dispatch = DispatchLoaderStatic>
32194  void destroyIndirectCommandsLayoutNVX( IndirectCommandsLayoutNVX indirectCommandsLayout, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32195 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32196  template<typename Dispatch = DispatchLoaderStatic>
32197  void destroyIndirectCommandsLayoutNVX( IndirectCommandsLayoutNVX indirectCommandsLayout, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32198 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32199 
32200  template<typename Dispatch = DispatchLoaderStatic>
32201  void destroy( IndirectCommandsLayoutNVX indirectCommandsLayout, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32202 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32203  template<typename Dispatch = DispatchLoaderStatic>
32204  void destroy( IndirectCommandsLayoutNVX indirectCommandsLayout, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32205 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32206 
32207  template<typename Dispatch = DispatchLoaderStatic>
32208  Result createObjectTableNVX( const ObjectTableCreateInfoNVX* pCreateInfo, const AllocationCallbacks* pAllocator, ObjectTableNVX* pObjectTable, Dispatch const &d = Dispatch() ) const;
32209 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32210  template<typename Dispatch = DispatchLoaderStatic>
32211  ResultValueType<ObjectTableNVX>::type createObjectTableNVX( const ObjectTableCreateInfoNVX & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32212 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32213  template<typename Dispatch = DispatchLoaderStatic>
32214  ResultValueType<UniqueObjectTableNVX>::type createObjectTableNVXUnique( const ObjectTableCreateInfoNVX & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32215 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32216 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32217 
32218  template<typename Dispatch = DispatchLoaderStatic>
32219  void destroyObjectTableNVX( ObjectTableNVX objectTable, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32220 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32221  template<typename Dispatch = DispatchLoaderStatic>
32222  void destroyObjectTableNVX( ObjectTableNVX objectTable, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32223 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32224 
32225  template<typename Dispatch = DispatchLoaderStatic>
32226  void destroy( ObjectTableNVX objectTable, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32227 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32228  template<typename Dispatch = DispatchLoaderStatic>
32229  void destroy( ObjectTableNVX objectTable, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32230 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32231 
32232  template<typename Dispatch = DispatchLoaderStatic>
32233  Result registerObjectsNVX( ObjectTableNVX objectTable, uint32_t objectCount, const ObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices, Dispatch const &d = Dispatch() ) const;
32234 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32235  template<typename Dispatch = DispatchLoaderStatic>
32236  ResultValueType<void>::type registerObjectsNVX( ObjectTableNVX objectTable, ArrayProxy<const ObjectTableEntryNVX* const> pObjectTableEntries, ArrayProxy<const uint32_t> objectIndices, Dispatch const &d = Dispatch() ) const;
32237 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32238 
32239  template<typename Dispatch = DispatchLoaderStatic>
32240  Result unregisterObjectsNVX( ObjectTableNVX objectTable, uint32_t objectCount, const ObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices, Dispatch const &d = Dispatch() ) const;
32241 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32242  template<typename Dispatch = DispatchLoaderStatic>
32243  ResultValueType<void>::type unregisterObjectsNVX( ObjectTableNVX objectTable, ArrayProxy<const ObjectEntryTypeNVX> objectEntryTypes, ArrayProxy<const uint32_t> objectIndices, Dispatch const &d = Dispatch() ) const;
32244 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32245 
32246  template<typename Dispatch = DispatchLoaderStatic>
32247  void trimCommandPool( CommandPool commandPool, CommandPoolTrimFlags flags = CommandPoolTrimFlags(), Dispatch const &d = Dispatch() ) const;
32248 
32249  template<typename Dispatch = DispatchLoaderStatic>
32250  void trimCommandPoolKHR( CommandPool commandPool, CommandPoolTrimFlags flags = CommandPoolTrimFlags(), Dispatch const &d = Dispatch() ) const;
32251 
32252 #ifdef VK_USE_PLATFORM_WIN32_KHR
32253  template<typename Dispatch = DispatchLoaderStatic>
32254  Result getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle, Dispatch const &d = Dispatch() ) const;
32255 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32256  template<typename Dispatch = DispatchLoaderStatic>
32257  ResultValueType<HANDLE>::type getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const &d = Dispatch() ) const;
32258 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32259 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
32260 
32261 #ifdef VK_USE_PLATFORM_WIN32_KHR
32262  template<typename Dispatch = DispatchLoaderStatic>
32263  Result getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, MemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties, Dispatch const &d = Dispatch() ) const;
32264 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32265  template<typename Dispatch = DispatchLoaderStatic>
32266  ResultValueType<MemoryWin32HandlePropertiesKHR>::type getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, Dispatch const &d = Dispatch() ) const;
32267 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32268 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
32269 
32270  template<typename Dispatch = DispatchLoaderStatic>
32271  Result getMemoryFdKHR( const MemoryGetFdInfoKHR* pGetFdInfo, int* pFd, Dispatch const &d = Dispatch() ) const;
32272 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32273  template<typename Dispatch = DispatchLoaderStatic>
32274  ResultValueType<int>::type getMemoryFdKHR( const MemoryGetFdInfoKHR & getFdInfo, Dispatch const &d = Dispatch() ) const;
32275 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32276 
32277  template<typename Dispatch = DispatchLoaderStatic>
32278  Result getMemoryFdPropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, int fd, MemoryFdPropertiesKHR* pMemoryFdProperties, Dispatch const &d = Dispatch() ) const;
32279 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32280  template<typename Dispatch = DispatchLoaderStatic>
32281  ResultValueType<MemoryFdPropertiesKHR>::type getMemoryFdPropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, int fd, Dispatch const &d = Dispatch() ) const;
32282 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32283 
32284 #ifdef VK_USE_PLATFORM_WIN32_KHR
32285  template<typename Dispatch = DispatchLoaderStatic>
32286  Result getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle, Dispatch const &d = Dispatch() ) const;
32287 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32288  template<typename Dispatch = DispatchLoaderStatic>
32289  ResultValueType<HANDLE>::type getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const &d = Dispatch() ) const;
32290 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32291 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
32292 
32293 #ifdef VK_USE_PLATFORM_WIN32_KHR
32294  template<typename Dispatch = DispatchLoaderStatic>
32295  Result importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo, Dispatch const &d = Dispatch() ) const;
32296 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32297  template<typename Dispatch = DispatchLoaderStatic>
32298  ResultValueType<void>::type importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo, Dispatch const &d = Dispatch() ) const;
32299 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32300 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
32301 
32302  template<typename Dispatch = DispatchLoaderStatic>
32303  Result getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd, Dispatch const &d = Dispatch() ) const;
32304 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32305  template<typename Dispatch = DispatchLoaderStatic>
32306  ResultValueType<int>::type getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR & getFdInfo, Dispatch const &d = Dispatch() ) const;
32307 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32308 
32309  template<typename Dispatch = DispatchLoaderStatic>
32310  Result importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo, Dispatch const &d = Dispatch() ) const;
32311 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32312  template<typename Dispatch = DispatchLoaderStatic>
32313  ResultValueType<void>::type importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo, Dispatch const &d = Dispatch() ) const;
32314 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32315 
32316 #ifdef VK_USE_PLATFORM_WIN32_KHR
32317  template<typename Dispatch = DispatchLoaderStatic>
32318  Result getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle, Dispatch const &d = Dispatch() ) const;
32319 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32320  template<typename Dispatch = DispatchLoaderStatic>
32321  ResultValueType<HANDLE>::type getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const &d = Dispatch() ) const;
32322 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32323 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
32324 
32325 #ifdef VK_USE_PLATFORM_WIN32_KHR
32326  template<typename Dispatch = DispatchLoaderStatic>
32327  Result importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo, Dispatch const &d = Dispatch() ) const;
32328 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32329  template<typename Dispatch = DispatchLoaderStatic>
32330  ResultValueType<void>::type importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo, Dispatch const &d = Dispatch() ) const;
32331 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32332 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
32333 
32334  template<typename Dispatch = DispatchLoaderStatic>
32335  Result getFenceFdKHR( const FenceGetFdInfoKHR* pGetFdInfo, int* pFd, Dispatch const &d = Dispatch() ) const;
32336 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32337  template<typename Dispatch = DispatchLoaderStatic>
32338  ResultValueType<int>::type getFenceFdKHR( const FenceGetFdInfoKHR & getFdInfo, Dispatch const &d = Dispatch() ) const;
32339 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32340 
32341  template<typename Dispatch = DispatchLoaderStatic>
32342  Result importFenceFdKHR( const ImportFenceFdInfoKHR* pImportFenceFdInfo, Dispatch const &d = Dispatch() ) const;
32343 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32344  template<typename Dispatch = DispatchLoaderStatic>
32345  ResultValueType<void>::type importFenceFdKHR( const ImportFenceFdInfoKHR & importFenceFdInfo, Dispatch const &d = Dispatch() ) const;
32346 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32347 
32348  template<typename Dispatch = DispatchLoaderStatic>
32349  Result displayPowerControlEXT( DisplayKHR display, const DisplayPowerInfoEXT* pDisplayPowerInfo, Dispatch const &d = Dispatch() ) const;
32350 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32351  template<typename Dispatch = DispatchLoaderStatic>
32352  ResultValueType<void>::type displayPowerControlEXT( DisplayKHR display, const DisplayPowerInfoEXT & displayPowerInfo, Dispatch const &d = Dispatch() ) const;
32353 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32354 
32355  template<typename Dispatch = DispatchLoaderStatic>
32356  Result registerEventEXT( const DeviceEventInfoEXT* pDeviceEventInfo, const AllocationCallbacks* pAllocator, Fence* pFence, Dispatch const &d = Dispatch() ) const;
32357 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32358  template<typename Dispatch = DispatchLoaderStatic>
32359  ResultValueType<Fence>::type registerEventEXT( const DeviceEventInfoEXT & deviceEventInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32360 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32361 
32362  template<typename Dispatch = DispatchLoaderStatic>
32363  Result registerDisplayEventEXT( DisplayKHR display, const DisplayEventInfoEXT* pDisplayEventInfo, const AllocationCallbacks* pAllocator, Fence* pFence, Dispatch const &d = Dispatch() ) const;
32364 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32365  template<typename Dispatch = DispatchLoaderStatic>
32366  ResultValueType<Fence>::type registerDisplayEventEXT( DisplayKHR display, const DisplayEventInfoEXT & displayEventInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32367 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32368 
32369  template<typename Dispatch = DispatchLoaderStatic>
32370  Result getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue, Dispatch const &d = Dispatch() ) const;
32371 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32372  template<typename Dispatch = DispatchLoaderStatic>
32373  ResultValueType<uint64_t>::type getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, Dispatch const &d = Dispatch() ) const;
32374 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32375 
32376  template<typename Dispatch = DispatchLoaderStatic>
32377  void getGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, PeerMemoryFeatureFlags* pPeerMemoryFeatures, Dispatch const &d = Dispatch() ) const;
32378 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32379  template<typename Dispatch = DispatchLoaderStatic>
32380  PeerMemoryFeatureFlags getGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, Dispatch const &d = Dispatch() ) const;
32381 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32382 
32383  template<typename Dispatch = DispatchLoaderStatic>
32384  void getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, PeerMemoryFeatureFlags* pPeerMemoryFeatures, Dispatch const &d = Dispatch() ) const;
32385 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32386  template<typename Dispatch = DispatchLoaderStatic>
32387  PeerMemoryFeatureFlags getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, Dispatch const &d = Dispatch() ) const;
32388 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32389 
32390  template<typename Dispatch = DispatchLoaderStatic>
32391  Result bindBufferMemory2( uint32_t bindInfoCount, const BindBufferMemoryInfo* pBindInfos, Dispatch const &d = Dispatch() ) const;
32392 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32393  template<typename Dispatch = DispatchLoaderStatic>
32394  ResultValueType<void>::type bindBufferMemory2( ArrayProxy<const BindBufferMemoryInfo> bindInfos, Dispatch const &d = Dispatch() ) const;
32395 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32396 
32397  template<typename Dispatch = DispatchLoaderStatic>
32398  Result bindBufferMemory2KHR( uint32_t bindInfoCount, const BindBufferMemoryInfo* pBindInfos, Dispatch const &d = Dispatch() ) const;
32399 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32400  template<typename Dispatch = DispatchLoaderStatic>
32401  ResultValueType<void>::type bindBufferMemory2KHR( ArrayProxy<const BindBufferMemoryInfo> bindInfos, Dispatch const &d = Dispatch() ) const;
32402 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32403 
32404  template<typename Dispatch = DispatchLoaderStatic>
32405  Result bindImageMemory2( uint32_t bindInfoCount, const BindImageMemoryInfo* pBindInfos, Dispatch const &d = Dispatch() ) const;
32406 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32407  template<typename Dispatch = DispatchLoaderStatic>
32408  ResultValueType<void>::type bindImageMemory2( ArrayProxy<const BindImageMemoryInfo> bindInfos, Dispatch const &d = Dispatch() ) const;
32409 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32410 
32411  template<typename Dispatch = DispatchLoaderStatic>
32412  Result bindImageMemory2KHR( uint32_t bindInfoCount, const BindImageMemoryInfo* pBindInfos, Dispatch const &d = Dispatch() ) const;
32413 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32414  template<typename Dispatch = DispatchLoaderStatic>
32415  ResultValueType<void>::type bindImageMemory2KHR( ArrayProxy<const BindImageMemoryInfo> bindInfos, Dispatch const &d = Dispatch() ) const;
32416 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32417 
32418  template<typename Dispatch = DispatchLoaderStatic>
32419  Result getGroupPresentCapabilitiesKHR( DeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities, Dispatch const &d = Dispatch() ) const;
32420 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32421  template<typename Dispatch = DispatchLoaderStatic>
32423 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32424 
32425  template<typename Dispatch = DispatchLoaderStatic>
32426  Result getGroupSurfacePresentModesKHR( SurfaceKHR surface, DeviceGroupPresentModeFlagsKHR* pModes, Dispatch const &d = Dispatch() ) const;
32427 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32428  template<typename Dispatch = DispatchLoaderStatic>
32430 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32431 
32432  template<typename Dispatch = DispatchLoaderStatic>
32433  Result acquireNextImage2KHR( const AcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex, Dispatch const &d = Dispatch() ) const;
32434 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32435  template<typename Dispatch = DispatchLoaderStatic>
32436  ResultValue<uint32_t> acquireNextImage2KHR( const AcquireNextImageInfoKHR & acquireInfo, Dispatch const &d = Dispatch() ) const;
32437 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32438 
32439  template<typename Dispatch = DispatchLoaderStatic>
32440  Result createDescriptorUpdateTemplate( const DescriptorUpdateTemplateCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, DescriptorUpdateTemplate* pDescriptorUpdateTemplate, Dispatch const &d = Dispatch() ) const;
32441 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32442  template<typename Dispatch = DispatchLoaderStatic>
32444 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32445  template<typename Dispatch = DispatchLoaderStatic>
32447 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32448 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32449 
32450  template<typename Dispatch = DispatchLoaderStatic>
32451  Result createDescriptorUpdateTemplateKHR( const DescriptorUpdateTemplateCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, DescriptorUpdateTemplate* pDescriptorUpdateTemplate, Dispatch const &d = Dispatch() ) const;
32452 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32453  template<typename Dispatch = DispatchLoaderStatic>
32455 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32456  template<typename Dispatch = DispatchLoaderStatic>
32458 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32459 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32460 
32461  template<typename Dispatch = DispatchLoaderStatic>
32462  void destroyDescriptorUpdateTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32463 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32464  template<typename Dispatch = DispatchLoaderStatic>
32465  void destroyDescriptorUpdateTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32466 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32467 
32468  template<typename Dispatch = DispatchLoaderStatic>
32469  void destroy( DescriptorUpdateTemplate descriptorUpdateTemplate, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32470 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32471  template<typename Dispatch = DispatchLoaderStatic>
32472  void destroy( DescriptorUpdateTemplate descriptorUpdateTemplate, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32473 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32474 
32475  template<typename Dispatch = DispatchLoaderStatic>
32476  void destroyDescriptorUpdateTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32477 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32478  template<typename Dispatch = DispatchLoaderStatic>
32479  void destroyDescriptorUpdateTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32480 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32481 
32482  template<typename Dispatch = DispatchLoaderStatic>
32483  void updateDescriptorSetWithTemplate( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData, Dispatch const &d = Dispatch() ) const;
32484 
32485  template<typename Dispatch = DispatchLoaderStatic>
32486  void updateDescriptorSetWithTemplateKHR( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData, Dispatch const &d = Dispatch() ) const;
32487 
32488  template<typename Dispatch = DispatchLoaderStatic>
32489  void setHdrMetadataEXT( uint32_t swapchainCount, const SwapchainKHR* pSwapchains, const HdrMetadataEXT* pMetadata, Dispatch const &d = Dispatch() ) const;
32490 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32491  template<typename Dispatch = DispatchLoaderStatic>
32492  void setHdrMetadataEXT( ArrayProxy<const SwapchainKHR> swapchains, ArrayProxy<const HdrMetadataEXT> metadata, Dispatch const &d = Dispatch() ) const;
32493 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32494 
32495  template<typename Dispatch = DispatchLoaderStatic>
32496  Result getSwapchainStatusKHR( SwapchainKHR swapchain, Dispatch const &d = Dispatch() ) const;
32497 
32498  template<typename Dispatch = DispatchLoaderStatic>
32499  Result getRefreshCycleDurationGOOGLE( SwapchainKHR swapchain, RefreshCycleDurationGOOGLE* pDisplayTimingProperties, Dispatch const &d = Dispatch() ) const;
32500 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32501  template<typename Dispatch = DispatchLoaderStatic>
32502  ResultValueType<RefreshCycleDurationGOOGLE>::type getRefreshCycleDurationGOOGLE( SwapchainKHR swapchain, Dispatch const &d = Dispatch() ) const;
32503 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32504 
32505  template<typename Dispatch = DispatchLoaderStatic>
32506  Result getPastPresentationTimingGOOGLE( SwapchainKHR swapchain, uint32_t* pPresentationTimingCount, PastPresentationTimingGOOGLE* pPresentationTimings, Dispatch const &d = Dispatch() ) const;
32507 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32508  template <typename Allocator = std::allocator<PastPresentationTimingGOOGLE>, typename Dispatch = DispatchLoaderStatic>
32510 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32511 
32512  template<typename Dispatch = DispatchLoaderStatic>
32513  void getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2* pInfo, MemoryRequirements2* pMemoryRequirements, Dispatch const &d = Dispatch() ) const;
32514 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32515  template<typename Dispatch = DispatchLoaderStatic>
32516  MemoryRequirements2 getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32517  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
32518  StructureChain<T...> getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32519 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32520 
32521  template<typename Dispatch = DispatchLoaderStatic>
32522  void getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2* pInfo, MemoryRequirements2* pMemoryRequirements, Dispatch const &d = Dispatch() ) const;
32523 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32524  template<typename Dispatch = DispatchLoaderStatic>
32525  MemoryRequirements2 getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32526  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
32527  StructureChain<T...> getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32528 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32529 
32530  template<typename Dispatch = DispatchLoaderStatic>
32531  void getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2* pInfo, MemoryRequirements2* pMemoryRequirements, Dispatch const &d = Dispatch() ) const;
32532 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32533  template<typename Dispatch = DispatchLoaderStatic>
32534  MemoryRequirements2 getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32535  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
32536  StructureChain<T...> getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32537 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32538 
32539  template<typename Dispatch = DispatchLoaderStatic>
32540  void getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2* pInfo, MemoryRequirements2* pMemoryRequirements, Dispatch const &d = Dispatch() ) const;
32541 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32542  template<typename Dispatch = DispatchLoaderStatic>
32543  MemoryRequirements2 getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32544  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
32545  StructureChain<T...> getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32546 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32547 
32548  template<typename Dispatch = DispatchLoaderStatic>
32549  void getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, SparseImageMemoryRequirements2* pSparseMemoryRequirements, Dispatch const &d = Dispatch() ) const;
32550 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32551  template <typename Allocator = std::allocator<SparseImageMemoryRequirements2>, typename Dispatch = DispatchLoaderStatic>
32552  std::vector<SparseImageMemoryRequirements2,Allocator> getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32553 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32554 
32555  template<typename Dispatch = DispatchLoaderStatic>
32556  void getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, SparseImageMemoryRequirements2* pSparseMemoryRequirements, Dispatch const &d = Dispatch() ) const;
32557 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32558  template <typename Allocator = std::allocator<SparseImageMemoryRequirements2>, typename Dispatch = DispatchLoaderStatic>
32559  std::vector<SparseImageMemoryRequirements2,Allocator> getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2 & info, Dispatch const &d = Dispatch() ) const;
32560 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32561 
32562  template<typename Dispatch = DispatchLoaderStatic>
32563  Result createSamplerYcbcrConversion( const SamplerYcbcrConversionCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, SamplerYcbcrConversion* pYcbcrConversion, Dispatch const &d = Dispatch() ) const;
32564 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32565  template<typename Dispatch = DispatchLoaderStatic>
32567 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32568  template<typename Dispatch = DispatchLoaderStatic>
32570 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32571 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32572 
32573  template<typename Dispatch = DispatchLoaderStatic>
32574  Result createSamplerYcbcrConversionKHR( const SamplerYcbcrConversionCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, SamplerYcbcrConversion* pYcbcrConversion, Dispatch const &d = Dispatch() ) const;
32575 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32576  template<typename Dispatch = DispatchLoaderStatic>
32578 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32579  template<typename Dispatch = DispatchLoaderStatic>
32581 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32582 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32583 
32584  template<typename Dispatch = DispatchLoaderStatic>
32585  void destroySamplerYcbcrConversion( SamplerYcbcrConversion ycbcrConversion, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32586 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32587  template<typename Dispatch = DispatchLoaderStatic>
32588  void destroySamplerYcbcrConversion( SamplerYcbcrConversion ycbcrConversion, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32589 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32590 
32591  template<typename Dispatch = DispatchLoaderStatic>
32592  void destroy( SamplerYcbcrConversion ycbcrConversion, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32593 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32594  template<typename Dispatch = DispatchLoaderStatic>
32595  void destroy( SamplerYcbcrConversion ycbcrConversion, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32596 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32597 
32598  template<typename Dispatch = DispatchLoaderStatic>
32599  void destroySamplerYcbcrConversionKHR( SamplerYcbcrConversion ycbcrConversion, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32600 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32601  template<typename Dispatch = DispatchLoaderStatic>
32602  void destroySamplerYcbcrConversionKHR( SamplerYcbcrConversion ycbcrConversion, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32603 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32604 
32605  template<typename Dispatch = DispatchLoaderStatic>
32606  void getQueue2( const DeviceQueueInfo2* pQueueInfo, Queue* pQueue, Dispatch const &d = Dispatch() ) const;
32607 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32608  template<typename Dispatch = DispatchLoaderStatic>
32609  Queue getQueue2( const DeviceQueueInfo2 & queueInfo, Dispatch const &d = Dispatch() ) const;
32610 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32611 
32612  template<typename Dispatch = DispatchLoaderStatic>
32613  Result createValidationCacheEXT( const ValidationCacheCreateInfoEXT* pCreateInfo, const AllocationCallbacks* pAllocator, ValidationCacheEXT* pValidationCache, Dispatch const &d = Dispatch() ) const;
32614 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32615  template<typename Dispatch = DispatchLoaderStatic>
32616  ResultValueType<ValidationCacheEXT>::type createValidationCacheEXT( const ValidationCacheCreateInfoEXT & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32617 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32618  template<typename Dispatch = DispatchLoaderStatic>
32620 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32621 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32622 
32623  template<typename Dispatch = DispatchLoaderStatic>
32624  void destroyValidationCacheEXT( ValidationCacheEXT validationCache, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32625 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32626  template<typename Dispatch = DispatchLoaderStatic>
32627  void destroyValidationCacheEXT( ValidationCacheEXT validationCache, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32628 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32629 
32630  template<typename Dispatch = DispatchLoaderStatic>
32631  void destroy( ValidationCacheEXT validationCache, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
32632 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32633  template<typename Dispatch = DispatchLoaderStatic>
32634  void destroy( ValidationCacheEXT validationCache, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
32635 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32636 
32637  template<typename Dispatch = DispatchLoaderStatic>
32638  Result getValidationCacheDataEXT( ValidationCacheEXT validationCache, size_t* pDataSize, void* pData, Dispatch const &d = Dispatch() ) const;
32639 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32640  template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = DispatchLoaderStatic>
32641  typename ResultValueType<std::vector<uint8_t,Allocator>>::type getValidationCacheDataEXT( ValidationCacheEXT validationCache, Dispatch const &d = Dispatch() ) const;
32642 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32643 
32644  template<typename Dispatch = DispatchLoaderStatic>
32645  Result mergeValidationCachesEXT( ValidationCacheEXT dstCache, uint32_t srcCacheCount, const ValidationCacheEXT* pSrcCaches, Dispatch const &d = Dispatch() ) const;
32646 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32647  template<typename Dispatch = DispatchLoaderStatic>
32648  ResultValueType<void>::type mergeValidationCachesEXT( ValidationCacheEXT dstCache, ArrayProxy<const ValidationCacheEXT> srcCaches, Dispatch const &d = Dispatch() ) const;
32649 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32650 
32651  template<typename Dispatch = DispatchLoaderStatic>
32652  void getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo* pCreateInfo, DescriptorSetLayoutSupport* pSupport, Dispatch const &d = Dispatch() ) const;
32653 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32654  template<typename Dispatch = DispatchLoaderStatic>
32655  DescriptorSetLayoutSupport getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo, Dispatch const &d = Dispatch() ) const;
32656  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
32657  StructureChain<T...> getDescriptorSetLayoutSupport( const DescriptorSetLayoutCreateInfo & createInfo, Dispatch const &d = Dispatch() ) const;
32658 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32659 
32660  template<typename Dispatch = DispatchLoaderStatic>
32661  void getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo* pCreateInfo, DescriptorSetLayoutSupport* pSupport, Dispatch const &d = Dispatch() ) const;
32662 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32663  template<typename Dispatch = DispatchLoaderStatic>
32664  DescriptorSetLayoutSupport getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo, Dispatch const &d = Dispatch() ) const;
32665  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
32666  StructureChain<T...> getDescriptorSetLayoutSupportKHR( const DescriptorSetLayoutCreateInfo & createInfo, Dispatch const &d = Dispatch() ) const;
32667 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32668 
32669  template<typename Dispatch = DispatchLoaderStatic>
32670  Result getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo, Dispatch const &d = Dispatch() ) const;
32671 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32672  template <typename Allocator = std::allocator<uint8_t>, typename Dispatch = DispatchLoaderStatic>
32673  typename ResultValueType<std::vector<uint8_t,Allocator>>::type getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, Dispatch const &d = Dispatch() ) const;
32674 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32675 
32676  template<typename Dispatch = DispatchLoaderStatic>
32677  Result setDebugUtilsObjectNameEXT( const DebugUtilsObjectNameInfoEXT* pNameInfo, Dispatch const &d = Dispatch() ) const;
32678 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32679  template<typename Dispatch = DispatchLoaderStatic>
32680  ResultValueType<void>::type setDebugUtilsObjectNameEXT( const DebugUtilsObjectNameInfoEXT & nameInfo, Dispatch const &d = Dispatch() ) const;
32681 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32682 
32683  template<typename Dispatch = DispatchLoaderStatic>
32684  Result setDebugUtilsObjectTagEXT( const DebugUtilsObjectTagInfoEXT* pTagInfo, Dispatch const &d = Dispatch() ) const;
32685 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32686  template<typename Dispatch = DispatchLoaderStatic>
32687  ResultValueType<void>::type setDebugUtilsObjectTagEXT( const DebugUtilsObjectTagInfoEXT & tagInfo, Dispatch const &d = Dispatch() ) const;
32688 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32689 
32690  template<typename Dispatch = DispatchLoaderStatic>
32691  Result getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, MemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties, Dispatch const &d = Dispatch() ) const;
32692 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32693  template<typename Dispatch = DispatchLoaderStatic>
32694  ResultValueType<MemoryHostPointerPropertiesEXT>::type getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, Dispatch const &d = Dispatch() ) const;
32695 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32696 
32697 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
32698  template<typename Dispatch = DispatchLoaderStatic>
32699  Result getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer* buffer, AndroidHardwareBufferPropertiesANDROID* pProperties, Dispatch const &d = Dispatch() ) const;
32700 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32701  template<typename Dispatch = DispatchLoaderStatic>
32702  ResultValueType<AndroidHardwareBufferPropertiesANDROID>::type getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const &d = Dispatch() ) const;
32703  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
32704  typename ResultValueType<StructureChain<T...>>::type getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const &d = Dispatch() ) const;
32705 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32706 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
32707 
32708 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
32709  template<typename Dispatch = DispatchLoaderStatic>
32710  Result getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer, Dispatch const &d = Dispatch() ) const;
32711 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32712  template<typename Dispatch = DispatchLoaderStatic>
32713  ResultValueType<struct AHardwareBuffer*>::type getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info, Dispatch const &d = Dispatch() ) const;
32714 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32715 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
32716 
32717 
32718 
32719  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDevice() const
32720  {
32721  return m_device;
32722  }
32723 
32724  explicit operator bool() const
32725  {
32726  return m_device != VK_NULL_HANDLE;
32727  }
32728 
32729  bool operator!() const
32730  {
32731  return m_device == VK_NULL_HANDLE;
32732  }
32733 
32734  private:
32735  VkDevice m_device;
32736  };
32737 
32738  static_assert( sizeof( Device ) == sizeof( VkDevice ), "handle and wrapper have different size!" );
32739 
32740  template<typename Dispatch>
32741  VULKAN_HPP_INLINE PFN_vkVoidFunction Device::getProcAddr( const char* pName, Dispatch const &d) const
32742  {
32743  return d.vkGetDeviceProcAddr( m_device, pName );
32744  }
32745 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32746  template<typename Dispatch>
32748  {
32749  return d.vkGetDeviceProcAddr( m_device, name.c_str() );
32750  }
32751 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32752 
32753  template<typename Dispatch>
32754  VULKAN_HPP_INLINE void Device::destroy( const AllocationCallbacks* pAllocator, Dispatch const &d) const
32755  {
32756  d.vkDestroyDevice( m_device, reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
32757  }
32758 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32759  template<typename Dispatch>
32760  VULKAN_HPP_INLINE void Device::destroy( Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
32761  {
32762  d.vkDestroyDevice( m_device, reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
32763  }
32764 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32765 
32766  template<typename Dispatch>
32767  VULKAN_HPP_INLINE void Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Queue* pQueue, Dispatch const &d) const
32768  {
32769  d.vkGetDeviceQueue( m_device, queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue*>( pQueue ) );
32770  }
32771 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32772  template<typename Dispatch>
32773  VULKAN_HPP_INLINE Queue Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const &d ) const
32774  {
32775  Queue queue;
32776  d.vkGetDeviceQueue( m_device, queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue*>( &queue ) );
32777  return queue;
32778  }
32779 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32780 
32781 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
32782  template<typename Dispatch>
32783  VULKAN_HPP_INLINE Result Device::waitIdle(Dispatch const &d) const
32784  {
32785  return static_cast<Result>( d.vkDeviceWaitIdle( m_device ) );
32786  }
32787 #else
32788  template<typename Dispatch>
32790  {
32791  Result result = static_cast<Result>( d.vkDeviceWaitIdle( m_device ) );
32792  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::waitIdle" );
32793  }
32794 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32795 
32796  template<typename Dispatch>
32797  VULKAN_HPP_INLINE Result Device::allocateMemory( const MemoryAllocateInfo* pAllocateInfo, const AllocationCallbacks* pAllocator, DeviceMemory* pMemory, Dispatch const &d) const
32798  {
32799  return static_cast<Result>( d.vkAllocateMemory( m_device, reinterpret_cast<const VkMemoryAllocateInfo*>( pAllocateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDeviceMemory*>( pMemory ) ) );
32800  }
32801 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32802  template<typename Dispatch>
32804  {
32805  DeviceMemory memory;
32806  Result result = static_cast<Result>( d.vkAllocateMemory( m_device, reinterpret_cast<const VkMemoryAllocateInfo*>( &allocateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDeviceMemory*>( &memory ) ) );
32807  return createResultValue( result, memory, VULKAN_HPP_NAMESPACE_STRING"::Device::allocateMemory" );
32808  }
32809 #ifndef VULKAN_HPP_NO_SMART_HANDLE
32810  template<typename Dispatch>
32812  {
32813  DeviceMemory memory;
32814  Result result = static_cast<Result>( d.vkAllocateMemory( m_device, reinterpret_cast<const VkMemoryAllocateInfo*>( &allocateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDeviceMemory*>( &memory ) ) );
32815 
32816  ObjectFree<Device> deleter( *this, allocator );
32817  return createResultValue( result, memory, VULKAN_HPP_NAMESPACE_STRING"::Device::allocateMemoryUnique", deleter );
32818  }
32819 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
32820 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32821 
32822  template<typename Dispatch>
32823  VULKAN_HPP_INLINE void Device::freeMemory( DeviceMemory memory, const AllocationCallbacks* pAllocator, Dispatch const &d) const
32824  {
32825  d.vkFreeMemory( m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
32826  }
32827 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32828  template<typename Dispatch>
32830  {
32831  d.vkFreeMemory( m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
32832  }
32833 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32834 
32835  template<typename Dispatch>
32836  VULKAN_HPP_INLINE void Device::free( DeviceMemory memory, const AllocationCallbacks* pAllocator, Dispatch const &d) const
32837  {
32838  d.vkFreeMemory( m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
32839  }
32840 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32841  template<typename Dispatch>
32842  VULKAN_HPP_INLINE void Device::free( DeviceMemory memory, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
32843  {
32844  d.vkFreeMemory( m_device, static_cast<VkDeviceMemory>( memory ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
32845  }
32846 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32847 
32848  template<typename Dispatch>
32850  {
32851  return static_cast<Result>( d.vkMapMemory( m_device, static_cast<VkDeviceMemory>( memory ), offset, size, static_cast<VkMemoryMapFlags>( flags ), ppData ) );
32852  }
32853 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32854  template<typename Dispatch>
32856  {
32857  void* pData;
32858  Result result = static_cast<Result>( d.vkMapMemory( m_device, static_cast<VkDeviceMemory>( memory ), offset, size, static_cast<VkMemoryMapFlags>( flags ), &pData ) );
32859  return createResultValue( result, pData, VULKAN_HPP_NAMESPACE_STRING"::Device::mapMemory" );
32860  }
32861 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32862 
32863 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
32864  template<typename Dispatch>
32865  VULKAN_HPP_INLINE void Device::unmapMemory( DeviceMemory memory, Dispatch const &d) const
32866  {
32867  d.vkUnmapMemory( m_device, static_cast<VkDeviceMemory>( memory ) );
32868  }
32869 #else
32870  template<typename Dispatch>
32871  VULKAN_HPP_INLINE void Device::unmapMemory( DeviceMemory memory, Dispatch const &d ) const
32872  {
32873  d.vkUnmapMemory( m_device, static_cast<VkDeviceMemory>( memory ) );
32874  }
32875 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32876 
32877  template<typename Dispatch>
32878  VULKAN_HPP_INLINE Result Device::flushMappedMemoryRanges( uint32_t memoryRangeCount, const MappedMemoryRange* pMemoryRanges, Dispatch const &d) const
32879  {
32880  return static_cast<Result>( d.vkFlushMappedMemoryRanges( m_device, memoryRangeCount, reinterpret_cast<const VkMappedMemoryRange*>( pMemoryRanges ) ) );
32881  }
32882 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32883  template<typename Dispatch>
32885  {
32886  Result result = static_cast<Result>( d.vkFlushMappedMemoryRanges( m_device, memoryRanges.size() , reinterpret_cast<const VkMappedMemoryRange*>( memoryRanges.data() ) ) );
32887  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::flushMappedMemoryRanges" );
32888  }
32889 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32890 
32891  template<typename Dispatch>
32892  VULKAN_HPP_INLINE Result Device::invalidateMappedMemoryRanges( uint32_t memoryRangeCount, const MappedMemoryRange* pMemoryRanges, Dispatch const &d) const
32893  {
32894  return static_cast<Result>( d.vkInvalidateMappedMemoryRanges( m_device, memoryRangeCount, reinterpret_cast<const VkMappedMemoryRange*>( pMemoryRanges ) ) );
32895  }
32896 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32897  template<typename Dispatch>
32899  {
32900  Result result = static_cast<Result>( d.vkInvalidateMappedMemoryRanges( m_device, memoryRanges.size() , reinterpret_cast<const VkMappedMemoryRange*>( memoryRanges.data() ) ) );
32901  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::invalidateMappedMemoryRanges" );
32902  }
32903 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32904 
32905  template<typename Dispatch>
32906  VULKAN_HPP_INLINE void Device::getMemoryCommitment( DeviceMemory memory, DeviceSize* pCommittedMemoryInBytes, Dispatch const &d) const
32907  {
32908  d.vkGetDeviceMemoryCommitment( m_device, static_cast<VkDeviceMemory>( memory ), pCommittedMemoryInBytes );
32909  }
32910 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32911  template<typename Dispatch>
32913  {
32914  DeviceSize committedMemoryInBytes;
32915  d.vkGetDeviceMemoryCommitment( m_device, static_cast<VkDeviceMemory>( memory ), &committedMemoryInBytes );
32916  return committedMemoryInBytes;
32917  }
32918 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32919 
32920  template<typename Dispatch>
32921  VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements( Buffer buffer, MemoryRequirements* pMemoryRequirements, Dispatch const &d) const
32922  {
32923  d.vkGetBufferMemoryRequirements( m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<VkMemoryRequirements*>( pMemoryRequirements ) );
32924  }
32925 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32926  template<typename Dispatch>
32928  {
32929  MemoryRequirements memoryRequirements;
32930  d.vkGetBufferMemoryRequirements( m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<VkMemoryRequirements*>( &memoryRequirements ) );
32931  return memoryRequirements;
32932  }
32933 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32934 
32935 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
32936  template<typename Dispatch>
32937  VULKAN_HPP_INLINE Result Device::bindBufferMemory( Buffer buffer, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const &d) const
32938  {
32939  return static_cast<Result>( d.vkBindBufferMemory( m_device, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceMemory>( memory ), memoryOffset ) );
32940  }
32941 #else
32942  template<typename Dispatch>
32944  {
32945  Result result = static_cast<Result>( d.vkBindBufferMemory( m_device, static_cast<VkBuffer>( buffer ), static_cast<VkDeviceMemory>( memory ), memoryOffset ) );
32946  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::bindBufferMemory" );
32947  }
32948 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32949 
32950  template<typename Dispatch>
32951  VULKAN_HPP_INLINE void Device::getImageMemoryRequirements( Image image, MemoryRequirements* pMemoryRequirements, Dispatch const &d) const
32952  {
32953  d.vkGetImageMemoryRequirements( m_device, static_cast<VkImage>( image ), reinterpret_cast<VkMemoryRequirements*>( pMemoryRequirements ) );
32954  }
32955 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32956  template<typename Dispatch>
32958  {
32959  MemoryRequirements memoryRequirements;
32960  d.vkGetImageMemoryRequirements( m_device, static_cast<VkImage>( image ), reinterpret_cast<VkMemoryRequirements*>( &memoryRequirements ) );
32961  return memoryRequirements;
32962  }
32963 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32964 
32965 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
32966  template<typename Dispatch>
32967  VULKAN_HPP_INLINE Result Device::bindImageMemory( Image image, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const &d) const
32968  {
32969  return static_cast<Result>( d.vkBindImageMemory( m_device, static_cast<VkImage>( image ), static_cast<VkDeviceMemory>( memory ), memoryOffset ) );
32970  }
32971 #else
32972  template<typename Dispatch>
32974  {
32975  Result result = static_cast<Result>( d.vkBindImageMemory( m_device, static_cast<VkImage>( image ), static_cast<VkDeviceMemory>( memory ), memoryOffset ) );
32976  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::bindImageMemory" );
32977  }
32978 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32979 
32980  template<typename Dispatch>
32981  VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements( Image image, uint32_t* pSparseMemoryRequirementCount, SparseImageMemoryRequirements* pSparseMemoryRequirements, Dispatch const &d) const
32982  {
32983  d.vkGetImageSparseMemoryRequirements( m_device, static_cast<VkImage>( image ), pSparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements*>( pSparseMemoryRequirements ) );
32984  }
32985 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
32986  template <typename Allocator, typename Dispatch>
32987  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements,Allocator> Device::getImageSparseMemoryRequirements( Image image, Dispatch const &d ) const
32988  {
32989  std::vector<SparseImageMemoryRequirements,Allocator> sparseMemoryRequirements;
32990  uint32_t sparseMemoryRequirementCount;
32991  d.vkGetImageSparseMemoryRequirements( m_device, static_cast<VkImage>( image ), &sparseMemoryRequirementCount, nullptr );
32992  sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
32993  d.vkGetImageSparseMemoryRequirements( m_device, static_cast<VkImage>( image ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements*>( sparseMemoryRequirements.data() ) );
32994  return sparseMemoryRequirements;
32995  }
32996 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
32997 
32998  template<typename Dispatch>
32999  VULKAN_HPP_INLINE Result Device::createFence( const FenceCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Fence* pFence, Dispatch const &d) const
33000  {
33001  return static_cast<Result>( d.vkCreateFence( m_device, reinterpret_cast<const VkFenceCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkFence*>( pFence ) ) );
33002  }
33003 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33004  template<typename Dispatch>
33006  {
33007  Fence fence;
33008  Result result = static_cast<Result>( d.vkCreateFence( m_device, reinterpret_cast<const VkFenceCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkFence*>( &fence ) ) );
33009  return createResultValue( result, fence, VULKAN_HPP_NAMESPACE_STRING"::Device::createFence" );
33010  }
33011 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33012  template<typename Dispatch>
33014  {
33015  Fence fence;
33016  Result result = static_cast<Result>( d.vkCreateFence( m_device, reinterpret_cast<const VkFenceCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkFence*>( &fence ) ) );
33017 
33018  ObjectDestroy<Device> deleter( *this, allocator );
33019  return createResultValue( result, fence, VULKAN_HPP_NAMESPACE_STRING"::Device::createFenceUnique", deleter );
33020  }
33021 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33022 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33023 
33024  template<typename Dispatch>
33025  VULKAN_HPP_INLINE void Device::destroyFence( Fence fence, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33026  {
33027  d.vkDestroyFence( m_device, static_cast<VkFence>( fence ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33028  }
33029 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33030  template<typename Dispatch>
33031  VULKAN_HPP_INLINE void Device::destroyFence( Fence fence, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33032  {
33033  d.vkDestroyFence( m_device, static_cast<VkFence>( fence ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33034  }
33035 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33036 
33037  template<typename Dispatch>
33038  VULKAN_HPP_INLINE void Device::destroy( Fence fence, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33039  {
33040  d.vkDestroyFence( m_device, static_cast<VkFence>( fence ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33041  }
33042 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33043  template<typename Dispatch>
33044  VULKAN_HPP_INLINE void Device::destroy( Fence fence, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33045  {
33046  d.vkDestroyFence( m_device, static_cast<VkFence>( fence ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33047  }
33048 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33049 
33050  template<typename Dispatch>
33051  VULKAN_HPP_INLINE Result Device::resetFences( uint32_t fenceCount, const Fence* pFences, Dispatch const &d) const
33052  {
33053  return static_cast<Result>( d.vkResetFences( m_device, fenceCount, reinterpret_cast<const VkFence*>( pFences ) ) );
33054  }
33055 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33056  template<typename Dispatch>
33058  {
33059  Result result = static_cast<Result>( d.vkResetFences( m_device, fences.size() , reinterpret_cast<const VkFence*>( fences.data() ) ) );
33060  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::resetFences" );
33061  }
33062 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33063 
33064 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
33065  template<typename Dispatch>
33066  VULKAN_HPP_INLINE Result Device::getFenceStatus( Fence fence, Dispatch const &d) const
33067  {
33068  return static_cast<Result>( d.vkGetFenceStatus( m_device, static_cast<VkFence>( fence ) ) );
33069  }
33070 #else
33071  template<typename Dispatch>
33072  VULKAN_HPP_INLINE Result Device::getFenceStatus( Fence fence, Dispatch const &d ) const
33073  {
33074  Result result = static_cast<Result>( d.vkGetFenceStatus( m_device, static_cast<VkFence>( fence ) ) );
33075  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::getFenceStatus", { Result::eSuccess, Result::eNotReady } );
33076  }
33077 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33078 
33079  template<typename Dispatch>
33080  VULKAN_HPP_INLINE Result Device::waitForFences( uint32_t fenceCount, const Fence* pFences, Bool32 waitAll, uint64_t timeout, Dispatch const &d) const
33081  {
33082  return static_cast<Result>( d.vkWaitForFences( m_device, fenceCount, reinterpret_cast<const VkFence*>( pFences ), waitAll, timeout ) );
33083  }
33084 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33085  template<typename Dispatch>
33087  {
33088  Result result = static_cast<Result>( d.vkWaitForFences( m_device, fences.size() , reinterpret_cast<const VkFence*>( fences.data() ), waitAll, timeout ) );
33089  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::waitForFences", { Result::eSuccess, Result::eTimeout } );
33090  }
33091 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33092 
33093  template<typename Dispatch>
33094  VULKAN_HPP_INLINE Result Device::createSemaphore( const SemaphoreCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Semaphore* pSemaphore, Dispatch const &d) const
33095  {
33096  return static_cast<Result>( d.vkCreateSemaphore( m_device, reinterpret_cast<const VkSemaphoreCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSemaphore*>( pSemaphore ) ) );
33097  }
33098 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33099  template<typename Dispatch>
33101  {
33102  Semaphore semaphore;
33103  Result result = static_cast<Result>( d.vkCreateSemaphore( m_device, reinterpret_cast<const VkSemaphoreCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSemaphore*>( &semaphore ) ) );
33104  return createResultValue( result, semaphore, VULKAN_HPP_NAMESPACE_STRING"::Device::createSemaphore" );
33105  }
33106 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33107  template<typename Dispatch>
33109  {
33110  Semaphore semaphore;
33111  Result result = static_cast<Result>( d.vkCreateSemaphore( m_device, reinterpret_cast<const VkSemaphoreCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSemaphore*>( &semaphore ) ) );
33112 
33113  ObjectDestroy<Device> deleter( *this, allocator );
33114  return createResultValue( result, semaphore, VULKAN_HPP_NAMESPACE_STRING"::Device::createSemaphoreUnique", deleter );
33115  }
33116 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33117 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33118 
33119  template<typename Dispatch>
33120  VULKAN_HPP_INLINE void Device::destroySemaphore( Semaphore semaphore, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33121  {
33122  d.vkDestroySemaphore( m_device, static_cast<VkSemaphore>( semaphore ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33123  }
33124 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33125  template<typename Dispatch>
33126  VULKAN_HPP_INLINE void Device::destroySemaphore( Semaphore semaphore, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33127  {
33128  d.vkDestroySemaphore( m_device, static_cast<VkSemaphore>( semaphore ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33129  }
33130 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33131 
33132  template<typename Dispatch>
33133  VULKAN_HPP_INLINE void Device::destroy( Semaphore semaphore, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33134  {
33135  d.vkDestroySemaphore( m_device, static_cast<VkSemaphore>( semaphore ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33136  }
33137 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33138  template<typename Dispatch>
33139  VULKAN_HPP_INLINE void Device::destroy( Semaphore semaphore, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33140  {
33141  d.vkDestroySemaphore( m_device, static_cast<VkSemaphore>( semaphore ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33142  }
33143 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33144 
33145  template<typename Dispatch>
33146  VULKAN_HPP_INLINE Result Device::createEvent( const EventCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Event* pEvent, Dispatch const &d) const
33147  {
33148  return static_cast<Result>( d.vkCreateEvent( m_device, reinterpret_cast<const VkEventCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkEvent*>( pEvent ) ) );
33149  }
33150 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33151  template<typename Dispatch>
33153  {
33154  Event event;
33155  Result result = static_cast<Result>( d.vkCreateEvent( m_device, reinterpret_cast<const VkEventCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkEvent*>( &event ) ) );
33156  return createResultValue( result, event, VULKAN_HPP_NAMESPACE_STRING"::Device::createEvent" );
33157  }
33158 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33159  template<typename Dispatch>
33161  {
33162  Event event;
33163  Result result = static_cast<Result>( d.vkCreateEvent( m_device, reinterpret_cast<const VkEventCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkEvent*>( &event ) ) );
33164 
33165  ObjectDestroy<Device> deleter( *this, allocator );
33166  return createResultValue( result, event, VULKAN_HPP_NAMESPACE_STRING"::Device::createEventUnique", deleter );
33167  }
33168 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33169 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33170 
33171  template<typename Dispatch>
33172  VULKAN_HPP_INLINE void Device::destroyEvent( Event event, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33173  {
33174  d.vkDestroyEvent( m_device, static_cast<VkEvent>( event ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33175  }
33176 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33177  template<typename Dispatch>
33179  {
33180  d.vkDestroyEvent( m_device, static_cast<VkEvent>( event ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33181  }
33182 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33183 
33184  template<typename Dispatch>
33185  VULKAN_HPP_INLINE void Device::destroy( Event event, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33186  {
33187  d.vkDestroyEvent( m_device, static_cast<VkEvent>( event ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33188  }
33189 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33190  template<typename Dispatch>
33192  {
33193  d.vkDestroyEvent( m_device, static_cast<VkEvent>( event ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33194  }
33195 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33196 
33197 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
33198  template<typename Dispatch>
33199  VULKAN_HPP_INLINE Result Device::getEventStatus( Event event, Dispatch const &d) const
33200  {
33201  return static_cast<Result>( d.vkGetEventStatus( m_device, static_cast<VkEvent>( event ) ) );
33202  }
33203 #else
33204  template<typename Dispatch>
33206  {
33207  Result result = static_cast<Result>( d.vkGetEventStatus( m_device, static_cast<VkEvent>( event ) ) );
33209  }
33210 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33211 
33212 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
33213  template<typename Dispatch>
33214  VULKAN_HPP_INLINE Result Device::setEvent( Event event, Dispatch const &d) const
33215  {
33216  return static_cast<Result>( d.vkSetEvent( m_device, static_cast<VkEvent>( event ) ) );
33217  }
33218 #else
33219  template<typename Dispatch>
33221  {
33222  Result result = static_cast<Result>( d.vkSetEvent( m_device, static_cast<VkEvent>( event ) ) );
33223  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::setEvent" );
33224  }
33225 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33226 
33227 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
33228  template<typename Dispatch>
33229  VULKAN_HPP_INLINE Result Device::resetEvent( Event event, Dispatch const &d) const
33230  {
33231  return static_cast<Result>( d.vkResetEvent( m_device, static_cast<VkEvent>( event ) ) );
33232  }
33233 #else
33234  template<typename Dispatch>
33236  {
33237  Result result = static_cast<Result>( d.vkResetEvent( m_device, static_cast<VkEvent>( event ) ) );
33238  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::resetEvent" );
33239  }
33240 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33241 
33242  template<typename Dispatch>
33243  VULKAN_HPP_INLINE Result Device::createQueryPool( const QueryPoolCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, QueryPool* pQueryPool, Dispatch const &d) const
33244  {
33245  return static_cast<Result>( d.vkCreateQueryPool( m_device, reinterpret_cast<const VkQueryPoolCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkQueryPool*>( pQueryPool ) ) );
33246  }
33247 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33248  template<typename Dispatch>
33250  {
33251  QueryPool queryPool;
33252  Result result = static_cast<Result>( d.vkCreateQueryPool( m_device, reinterpret_cast<const VkQueryPoolCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkQueryPool*>( &queryPool ) ) );
33253  return createResultValue( result, queryPool, VULKAN_HPP_NAMESPACE_STRING"::Device::createQueryPool" );
33254  }
33255 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33256  template<typename Dispatch>
33258  {
33259  QueryPool queryPool;
33260  Result result = static_cast<Result>( d.vkCreateQueryPool( m_device, reinterpret_cast<const VkQueryPoolCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkQueryPool*>( &queryPool ) ) );
33261 
33262  ObjectDestroy<Device> deleter( *this, allocator );
33263  return createResultValue( result, queryPool, VULKAN_HPP_NAMESPACE_STRING"::Device::createQueryPoolUnique", deleter );
33264  }
33265 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33266 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33267 
33268  template<typename Dispatch>
33269  VULKAN_HPP_INLINE void Device::destroyQueryPool( QueryPool queryPool, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33270  {
33271  d.vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( queryPool ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33272  }
33273 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33274  template<typename Dispatch>
33275  VULKAN_HPP_INLINE void Device::destroyQueryPool( QueryPool queryPool, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33276  {
33277  d.vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( queryPool ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33278  }
33279 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33280 
33281  template<typename Dispatch>
33282  VULKAN_HPP_INLINE void Device::destroy( QueryPool queryPool, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33283  {
33284  d.vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( queryPool ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33285  }
33286 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33287  template<typename Dispatch>
33288  VULKAN_HPP_INLINE void Device::destroy( QueryPool queryPool, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33289  {
33290  d.vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( queryPool ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33291  }
33292 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33293 
33294  template<typename Dispatch>
33295  VULKAN_HPP_INLINE Result Device::getQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, DeviceSize stride, QueryResultFlags flags, Dispatch const &d) const
33296  {
33297  return static_cast<Result>( d.vkGetQueryPoolResults( m_device, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount, dataSize, pData, stride, static_cast<VkQueryResultFlags>( flags ) ) );
33298  }
33299 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33300  template <typename T, typename Dispatch>
33302  {
33303  Result result = static_cast<Result>( d.vkGetQueryPoolResults( m_device, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount, data.size() * sizeof( T ) , reinterpret_cast<void*>( data.data() ), stride, static_cast<VkQueryResultFlags>( flags ) ) );
33304  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::getQueryPoolResults", { Result::eSuccess, Result::eNotReady } );
33305  }
33306 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33307 
33308  template<typename Dispatch>
33309  VULKAN_HPP_INLINE Result Device::createBuffer( const BufferCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Buffer* pBuffer, Dispatch const &d) const
33310  {
33311  return static_cast<Result>( d.vkCreateBuffer( m_device, reinterpret_cast<const VkBufferCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkBuffer*>( pBuffer ) ) );
33312  }
33313 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33314  template<typename Dispatch>
33316  {
33317  Buffer buffer;
33318  Result result = static_cast<Result>( d.vkCreateBuffer( m_device, reinterpret_cast<const VkBufferCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkBuffer*>( &buffer ) ) );
33319  return createResultValue( result, buffer, VULKAN_HPP_NAMESPACE_STRING"::Device::createBuffer" );
33320  }
33321 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33322  template<typename Dispatch>
33324  {
33325  Buffer buffer;
33326  Result result = static_cast<Result>( d.vkCreateBuffer( m_device, reinterpret_cast<const VkBufferCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkBuffer*>( &buffer ) ) );
33327 
33328  ObjectDestroy<Device> deleter( *this, allocator );
33329  return createResultValue( result, buffer, VULKAN_HPP_NAMESPACE_STRING"::Device::createBufferUnique", deleter );
33330  }
33331 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33332 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33333 
33334  template<typename Dispatch>
33335  VULKAN_HPP_INLINE void Device::destroyBuffer( Buffer buffer, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33336  {
33337  d.vkDestroyBuffer( m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33338  }
33339 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33340  template<typename Dispatch>
33342  {
33343  d.vkDestroyBuffer( m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33344  }
33345 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33346 
33347  template<typename Dispatch>
33348  VULKAN_HPP_INLINE void Device::destroy( Buffer buffer, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33349  {
33350  d.vkDestroyBuffer( m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33351  }
33352 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33353  template<typename Dispatch>
33355  {
33356  d.vkDestroyBuffer( m_device, static_cast<VkBuffer>( buffer ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33357  }
33358 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33359 
33360  template<typename Dispatch>
33361  VULKAN_HPP_INLINE Result Device::createBufferView( const BufferViewCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, BufferView* pView, Dispatch const &d) const
33362  {
33363  return static_cast<Result>( d.vkCreateBufferView( m_device, reinterpret_cast<const VkBufferViewCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkBufferView*>( pView ) ) );
33364  }
33365 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33366  template<typename Dispatch>
33368  {
33369  BufferView view;
33370  Result result = static_cast<Result>( d.vkCreateBufferView( m_device, reinterpret_cast<const VkBufferViewCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkBufferView*>( &view ) ) );
33371  return createResultValue( result, view, VULKAN_HPP_NAMESPACE_STRING"::Device::createBufferView" );
33372  }
33373 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33374  template<typename Dispatch>
33376  {
33377  BufferView view;
33378  Result result = static_cast<Result>( d.vkCreateBufferView( m_device, reinterpret_cast<const VkBufferViewCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkBufferView*>( &view ) ) );
33379 
33380  ObjectDestroy<Device> deleter( *this, allocator );
33381  return createResultValue( result, view, VULKAN_HPP_NAMESPACE_STRING"::Device::createBufferViewUnique", deleter );
33382  }
33383 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33384 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33385 
33386  template<typename Dispatch>
33387  VULKAN_HPP_INLINE void Device::destroyBufferView( BufferView bufferView, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33388  {
33389  d.vkDestroyBufferView( m_device, static_cast<VkBufferView>( bufferView ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33390  }
33391 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33392  template<typename Dispatch>
33394  {
33395  d.vkDestroyBufferView( m_device, static_cast<VkBufferView>( bufferView ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33396  }
33397 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33398 
33399  template<typename Dispatch>
33400  VULKAN_HPP_INLINE void Device::destroy( BufferView bufferView, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33401  {
33402  d.vkDestroyBufferView( m_device, static_cast<VkBufferView>( bufferView ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33403  }
33404 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33405  template<typename Dispatch>
33406  VULKAN_HPP_INLINE void Device::destroy( BufferView bufferView, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33407  {
33408  d.vkDestroyBufferView( m_device, static_cast<VkBufferView>( bufferView ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33409  }
33410 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33411 
33412  template<typename Dispatch>
33413  VULKAN_HPP_INLINE Result Device::createImage( const ImageCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Image* pImage, Dispatch const &d) const
33414  {
33415  return static_cast<Result>( d.vkCreateImage( m_device, reinterpret_cast<const VkImageCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkImage*>( pImage ) ) );
33416  }
33417 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33418  template<typename Dispatch>
33420  {
33421  Image image;
33422  Result result = static_cast<Result>( d.vkCreateImage( m_device, reinterpret_cast<const VkImageCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkImage*>( &image ) ) );
33423  return createResultValue( result, image, VULKAN_HPP_NAMESPACE_STRING"::Device::createImage" );
33424  }
33425 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33426  template<typename Dispatch>
33428  {
33429  Image image;
33430  Result result = static_cast<Result>( d.vkCreateImage( m_device, reinterpret_cast<const VkImageCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkImage*>( &image ) ) );
33431 
33432  ObjectDestroy<Device> deleter( *this, allocator );
33433  return createResultValue( result, image, VULKAN_HPP_NAMESPACE_STRING"::Device::createImageUnique", deleter );
33434  }
33435 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33436 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33437 
33438  template<typename Dispatch>
33439  VULKAN_HPP_INLINE void Device::destroyImage( Image image, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33440  {
33441  d.vkDestroyImage( m_device, static_cast<VkImage>( image ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33442  }
33443 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33444  template<typename Dispatch>
33446  {
33447  d.vkDestroyImage( m_device, static_cast<VkImage>( image ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33448  }
33449 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33450 
33451  template<typename Dispatch>
33452  VULKAN_HPP_INLINE void Device::destroy( Image image, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33453  {
33454  d.vkDestroyImage( m_device, static_cast<VkImage>( image ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33455  }
33456 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33457  template<typename Dispatch>
33459  {
33460  d.vkDestroyImage( m_device, static_cast<VkImage>( image ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33461  }
33462 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33463 
33464  template<typename Dispatch>
33465  VULKAN_HPP_INLINE void Device::getImageSubresourceLayout( Image image, const ImageSubresource* pSubresource, SubresourceLayout* pLayout, Dispatch const &d) const
33466  {
33467  d.vkGetImageSubresourceLayout( m_device, static_cast<VkImage>( image ), reinterpret_cast<const VkImageSubresource*>( pSubresource ), reinterpret_cast<VkSubresourceLayout*>( pLayout ) );
33468  }
33469 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33470  template<typename Dispatch>
33472  {
33473  SubresourceLayout layout;
33474  d.vkGetImageSubresourceLayout( m_device, static_cast<VkImage>( image ), reinterpret_cast<const VkImageSubresource*>( &subresource ), reinterpret_cast<VkSubresourceLayout*>( &layout ) );
33475  return layout;
33476  }
33477 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33478 
33479  template<typename Dispatch>
33480  VULKAN_HPP_INLINE Result Device::createImageView( const ImageViewCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, ImageView* pView, Dispatch const &d) const
33481  {
33482  return static_cast<Result>( d.vkCreateImageView( m_device, reinterpret_cast<const VkImageViewCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkImageView*>( pView ) ) );
33483  }
33484 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33485  template<typename Dispatch>
33487  {
33488  ImageView view;
33489  Result result = static_cast<Result>( d.vkCreateImageView( m_device, reinterpret_cast<const VkImageViewCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkImageView*>( &view ) ) );
33490  return createResultValue( result, view, VULKAN_HPP_NAMESPACE_STRING"::Device::createImageView" );
33491  }
33492 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33493  template<typename Dispatch>
33495  {
33496  ImageView view;
33497  Result result = static_cast<Result>( d.vkCreateImageView( m_device, reinterpret_cast<const VkImageViewCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkImageView*>( &view ) ) );
33498 
33499  ObjectDestroy<Device> deleter( *this, allocator );
33500  return createResultValue( result, view, VULKAN_HPP_NAMESPACE_STRING"::Device::createImageViewUnique", deleter );
33501  }
33502 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33503 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33504 
33505  template<typename Dispatch>
33506  VULKAN_HPP_INLINE void Device::destroyImageView( ImageView imageView, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33507  {
33508  d.vkDestroyImageView( m_device, static_cast<VkImageView>( imageView ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33509  }
33510 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33511  template<typename Dispatch>
33512  VULKAN_HPP_INLINE void Device::destroyImageView( ImageView imageView, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33513  {
33514  d.vkDestroyImageView( m_device, static_cast<VkImageView>( imageView ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33515  }
33516 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33517 
33518  template<typename Dispatch>
33519  VULKAN_HPP_INLINE void Device::destroy( ImageView imageView, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33520  {
33521  d.vkDestroyImageView( m_device, static_cast<VkImageView>( imageView ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33522  }
33523 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33524  template<typename Dispatch>
33525  VULKAN_HPP_INLINE void Device::destroy( ImageView imageView, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33526  {
33527  d.vkDestroyImageView( m_device, static_cast<VkImageView>( imageView ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33528  }
33529 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33530 
33531  template<typename Dispatch>
33532  VULKAN_HPP_INLINE Result Device::createShaderModule( const ShaderModuleCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, ShaderModule* pShaderModule, Dispatch const &d) const
33533  {
33534  return static_cast<Result>( d.vkCreateShaderModule( m_device, reinterpret_cast<const VkShaderModuleCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkShaderModule*>( pShaderModule ) ) );
33535  }
33536 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33537  template<typename Dispatch>
33539  {
33540  ShaderModule shaderModule;
33541  Result result = static_cast<Result>( d.vkCreateShaderModule( m_device, reinterpret_cast<const VkShaderModuleCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkShaderModule*>( &shaderModule ) ) );
33542  return createResultValue( result, shaderModule, VULKAN_HPP_NAMESPACE_STRING"::Device::createShaderModule" );
33543  }
33544 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33545  template<typename Dispatch>
33547  {
33548  ShaderModule shaderModule;
33549  Result result = static_cast<Result>( d.vkCreateShaderModule( m_device, reinterpret_cast<const VkShaderModuleCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkShaderModule*>( &shaderModule ) ) );
33550 
33551  ObjectDestroy<Device> deleter( *this, allocator );
33552  return createResultValue( result, shaderModule, VULKAN_HPP_NAMESPACE_STRING"::Device::createShaderModuleUnique", deleter );
33553  }
33554 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33555 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33556 
33557  template<typename Dispatch>
33558  VULKAN_HPP_INLINE void Device::destroyShaderModule( ShaderModule shaderModule, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33559  {
33560  d.vkDestroyShaderModule( m_device, static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33561  }
33562 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33563  template<typename Dispatch>
33565  {
33566  d.vkDestroyShaderModule( m_device, static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33567  }
33568 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33569 
33570  template<typename Dispatch>
33571  VULKAN_HPP_INLINE void Device::destroy( ShaderModule shaderModule, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33572  {
33573  d.vkDestroyShaderModule( m_device, static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33574  }
33575 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33576  template<typename Dispatch>
33577  VULKAN_HPP_INLINE void Device::destroy( ShaderModule shaderModule, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33578  {
33579  d.vkDestroyShaderModule( m_device, static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33580  }
33581 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33582 
33583  template<typename Dispatch>
33584  VULKAN_HPP_INLINE Result Device::createPipelineCache( const PipelineCacheCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, PipelineCache* pPipelineCache, Dispatch const &d) const
33585  {
33586  return static_cast<Result>( d.vkCreatePipelineCache( m_device, reinterpret_cast<const VkPipelineCacheCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkPipelineCache*>( pPipelineCache ) ) );
33587  }
33588 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33589  template<typename Dispatch>
33591  {
33592  PipelineCache pipelineCache;
33593  Result result = static_cast<Result>( d.vkCreatePipelineCache( m_device, reinterpret_cast<const VkPipelineCacheCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipelineCache*>( &pipelineCache ) ) );
33594  return createResultValue( result, pipelineCache, VULKAN_HPP_NAMESPACE_STRING"::Device::createPipelineCache" );
33595  }
33596 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33597  template<typename Dispatch>
33599  {
33600  PipelineCache pipelineCache;
33601  Result result = static_cast<Result>( d.vkCreatePipelineCache( m_device, reinterpret_cast<const VkPipelineCacheCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipelineCache*>( &pipelineCache ) ) );
33602 
33603  ObjectDestroy<Device> deleter( *this, allocator );
33604  return createResultValue( result, pipelineCache, VULKAN_HPP_NAMESPACE_STRING"::Device::createPipelineCacheUnique", deleter );
33605  }
33606 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33607 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33608 
33609  template<typename Dispatch>
33610  VULKAN_HPP_INLINE void Device::destroyPipelineCache( PipelineCache pipelineCache, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33611  {
33612  d.vkDestroyPipelineCache( m_device, static_cast<VkPipelineCache>( pipelineCache ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33613  }
33614 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33615  template<typename Dispatch>
33617  {
33618  d.vkDestroyPipelineCache( m_device, static_cast<VkPipelineCache>( pipelineCache ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33619  }
33620 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33621 
33622  template<typename Dispatch>
33623  VULKAN_HPP_INLINE void Device::destroy( PipelineCache pipelineCache, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33624  {
33625  d.vkDestroyPipelineCache( m_device, static_cast<VkPipelineCache>( pipelineCache ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33626  }
33627 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33628  template<typename Dispatch>
33629  VULKAN_HPP_INLINE void Device::destroy( PipelineCache pipelineCache, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33630  {
33631  d.vkDestroyPipelineCache( m_device, static_cast<VkPipelineCache>( pipelineCache ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33632  }
33633 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33634 
33635  template<typename Dispatch>
33636  VULKAN_HPP_INLINE Result Device::getPipelineCacheData( PipelineCache pipelineCache, size_t* pDataSize, void* pData, Dispatch const &d) const
33637  {
33638  return static_cast<Result>( d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), pDataSize, pData ) );
33639  }
33640 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33641  template <typename Allocator, typename Dispatch>
33643  {
33644  std::vector<uint8_t,Allocator> data;
33645  size_t dataSize;
33646  Result result;
33647  do
33648  {
33649  result = static_cast<Result>( d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), &dataSize, nullptr ) );
33650  if ( ( result == Result::eSuccess ) && dataSize )
33651  {
33652  data.resize( dataSize );
33653  result = static_cast<Result>( d.vkGetPipelineCacheData( m_device, static_cast<VkPipelineCache>( pipelineCache ), &dataSize, reinterpret_cast<void*>( data.data() ) ) );
33654  }
33655  } while ( result == Result::eIncomplete );
33656  VULKAN_HPP_ASSERT( dataSize <= data.size() );
33657  data.resize( dataSize );
33658  return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING"::Device::getPipelineCacheData" );
33659  }
33660 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33661 
33662  template<typename Dispatch>
33663  VULKAN_HPP_INLINE Result Device::mergePipelineCaches( PipelineCache dstCache, uint32_t srcCacheCount, const PipelineCache* pSrcCaches, Dispatch const &d) const
33664  {
33665  return static_cast<Result>( d.vkMergePipelineCaches( m_device, static_cast<VkPipelineCache>( dstCache ), srcCacheCount, reinterpret_cast<const VkPipelineCache*>( pSrcCaches ) ) );
33666  }
33667 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33668  template<typename Dispatch>
33670  {
33671  Result result = static_cast<Result>( d.vkMergePipelineCaches( m_device, static_cast<VkPipelineCache>( dstCache ), srcCaches.size() , reinterpret_cast<const VkPipelineCache*>( srcCaches.data() ) ) );
33672  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::mergePipelineCaches" );
33673  }
33674 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33675 
33676  template<typename Dispatch>
33677  VULKAN_HPP_INLINE Result Device::createGraphicsPipelines( PipelineCache pipelineCache, uint32_t createInfoCount, const GraphicsPipelineCreateInfo* pCreateInfos, const AllocationCallbacks* pAllocator, Pipeline* pPipelines, Dispatch const &d) const
33678  {
33679  return static_cast<Result>( d.vkCreateGraphicsPipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfoCount, reinterpret_cast<const VkGraphicsPipelineCreateInfo*>( pCreateInfos ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkPipeline*>( pPipelines ) ) );
33680  }
33681 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33682  template <typename Allocator, typename Dispatch>
33684  {
33685  std::vector<Pipeline,Allocator> pipelines( createInfos.size() );
33686  Result result = static_cast<Result>( d.vkCreateGraphicsPipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size() , reinterpret_cast<const VkGraphicsPipelineCreateInfo*>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipeline*>( pipelines.data() ) ) );
33687  return createResultValue( result, pipelines, VULKAN_HPP_NAMESPACE_STRING"::Device::createGraphicsPipelines" );
33688  }
33689  template <typename Allocator, typename Dispatch>
33691  {
33692  Pipeline pipeline;
33693  Result result = static_cast<Result>( d.vkCreateGraphicsPipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), 1 , reinterpret_cast<const VkGraphicsPipelineCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipeline*>( &pipeline ) ) );
33694  return createResultValue( result, pipeline, VULKAN_HPP_NAMESPACE_STRING"::Device::createGraphicsPipeline" );
33695  }
33696 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33697  template <typename Allocator, typename Dispatch>
33699  {
33700  static_assert( sizeof( Pipeline ) <= sizeof( UniquePipeline ), "Pipeline is greater than UniquePipeline!" );
33701  std::vector<UniquePipeline, Allocator> pipelines;
33702  pipelines.reserve( createInfos.size() );
33703  Pipeline* buffer = reinterpret_cast<Pipeline*>( reinterpret_cast<char*>( pipelines.data() ) + createInfos.size() * ( sizeof( UniquePipeline ) - sizeof( Pipeline ) ) );
33704  Result result = static_cast<Result>(d.vkCreateGraphicsPipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size() , reinterpret_cast<const VkGraphicsPipelineCreateInfo*>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipeline*>( buffer ) ) );
33705 
33706  ObjectDestroy<Device> deleter( *this, allocator );
33707  for ( size_t i=0 ; i<createInfos.size() ; i++ )
33708  {
33709  pipelines.push_back( UniquePipeline( buffer[i], deleter ) );
33710  }
33711 
33712  return createResultValue( result, pipelines, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique" );
33713  }
33714  template <typename Allocator, typename Dispatch>
33716  {
33717  Pipeline pipeline;
33718  Result result = static_cast<Result>( d.vkCreateGraphicsPipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), 1 , reinterpret_cast<const VkGraphicsPipelineCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipeline*>( &pipeline ) ) );
33719 
33720  ObjectDestroy<Device> deleter( *this, allocator );
33721  return createResultValue( result, pipeline, VULKAN_HPP_NAMESPACE_STRING"::Device::createGraphicsPipelineUnique", deleter );
33722  }
33723 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33724 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33725 
33726  template<typename Dispatch>
33727  VULKAN_HPP_INLINE Result Device::createComputePipelines( PipelineCache pipelineCache, uint32_t createInfoCount, const ComputePipelineCreateInfo* pCreateInfos, const AllocationCallbacks* pAllocator, Pipeline* pPipelines, Dispatch const &d) const
33728  {
33729  return static_cast<Result>( d.vkCreateComputePipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfoCount, reinterpret_cast<const VkComputePipelineCreateInfo*>( pCreateInfos ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkPipeline*>( pPipelines ) ) );
33730  }
33731 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33732  template <typename Allocator, typename Dispatch>
33734  {
33735  std::vector<Pipeline,Allocator> pipelines( createInfos.size() );
33736  Result result = static_cast<Result>( d.vkCreateComputePipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size() , reinterpret_cast<const VkComputePipelineCreateInfo*>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipeline*>( pipelines.data() ) ) );
33737  return createResultValue( result, pipelines, VULKAN_HPP_NAMESPACE_STRING"::Device::createComputePipelines" );
33738  }
33739  template <typename Allocator, typename Dispatch>
33741  {
33742  Pipeline pipeline;
33743  Result result = static_cast<Result>( d.vkCreateComputePipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), 1 , reinterpret_cast<const VkComputePipelineCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipeline*>( &pipeline ) ) );
33744  return createResultValue( result, pipeline, VULKAN_HPP_NAMESPACE_STRING"::Device::createComputePipeline" );
33745  }
33746 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33747  template <typename Allocator, typename Dispatch>
33749  {
33750  static_assert( sizeof( Pipeline ) <= sizeof( UniquePipeline ), "Pipeline is greater than UniquePipeline!" );
33751  std::vector<UniquePipeline, Allocator> pipelines;
33752  pipelines.reserve( createInfos.size() );
33753  Pipeline* buffer = reinterpret_cast<Pipeline*>( reinterpret_cast<char*>( pipelines.data() ) + createInfos.size() * ( sizeof( UniquePipeline ) - sizeof( Pipeline ) ) );
33754  Result result = static_cast<Result>(d.vkCreateComputePipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size() , reinterpret_cast<const VkComputePipelineCreateInfo*>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipeline*>( buffer ) ) );
33755 
33756  ObjectDestroy<Device> deleter( *this, allocator );
33757  for ( size_t i=0 ; i<createInfos.size() ; i++ )
33758  {
33759  pipelines.push_back( UniquePipeline( buffer[i], deleter ) );
33760  }
33761 
33762  return createResultValue( result, pipelines, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique" );
33763  }
33764  template <typename Allocator, typename Dispatch>
33766  {
33767  Pipeline pipeline;
33768  Result result = static_cast<Result>( d.vkCreateComputePipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), 1 , reinterpret_cast<const VkComputePipelineCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipeline*>( &pipeline ) ) );
33769 
33770  ObjectDestroy<Device> deleter( *this, allocator );
33771  return createResultValue( result, pipeline, VULKAN_HPP_NAMESPACE_STRING"::Device::createComputePipelineUnique", deleter );
33772  }
33773 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33774 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33775 
33776  template<typename Dispatch>
33777  VULKAN_HPP_INLINE void Device::destroyPipeline( Pipeline pipeline, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33778  {
33779  d.vkDestroyPipeline( m_device, static_cast<VkPipeline>( pipeline ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33780  }
33781 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33782  template<typename Dispatch>
33783  VULKAN_HPP_INLINE void Device::destroyPipeline( Pipeline pipeline, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33784  {
33785  d.vkDestroyPipeline( m_device, static_cast<VkPipeline>( pipeline ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33786  }
33787 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33788 
33789  template<typename Dispatch>
33790  VULKAN_HPP_INLINE void Device::destroy( Pipeline pipeline, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33791  {
33792  d.vkDestroyPipeline( m_device, static_cast<VkPipeline>( pipeline ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33793  }
33794 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33795  template<typename Dispatch>
33796  VULKAN_HPP_INLINE void Device::destroy( Pipeline pipeline, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33797  {
33798  d.vkDestroyPipeline( m_device, static_cast<VkPipeline>( pipeline ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33799  }
33800 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33801 
33802  template<typename Dispatch>
33803  VULKAN_HPP_INLINE Result Device::createPipelineLayout( const PipelineLayoutCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, PipelineLayout* pPipelineLayout, Dispatch const &d) const
33804  {
33805  return static_cast<Result>( d.vkCreatePipelineLayout( m_device, reinterpret_cast<const VkPipelineLayoutCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkPipelineLayout*>( pPipelineLayout ) ) );
33806  }
33807 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33808  template<typename Dispatch>
33810  {
33811  PipelineLayout pipelineLayout;
33812  Result result = static_cast<Result>( d.vkCreatePipelineLayout( m_device, reinterpret_cast<const VkPipelineLayoutCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipelineLayout*>( &pipelineLayout ) ) );
33813  return createResultValue( result, pipelineLayout, VULKAN_HPP_NAMESPACE_STRING"::Device::createPipelineLayout" );
33814  }
33815 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33816  template<typename Dispatch>
33818  {
33819  PipelineLayout pipelineLayout;
33820  Result result = static_cast<Result>( d.vkCreatePipelineLayout( m_device, reinterpret_cast<const VkPipelineLayoutCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkPipelineLayout*>( &pipelineLayout ) ) );
33821 
33822  ObjectDestroy<Device> deleter( *this, allocator );
33823  return createResultValue( result, pipelineLayout, VULKAN_HPP_NAMESPACE_STRING"::Device::createPipelineLayoutUnique", deleter );
33824  }
33825 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33826 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33827 
33828  template<typename Dispatch>
33829  VULKAN_HPP_INLINE void Device::destroyPipelineLayout( PipelineLayout pipelineLayout, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33830  {
33831  d.vkDestroyPipelineLayout( m_device, static_cast<VkPipelineLayout>( pipelineLayout ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33832  }
33833 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33834  template<typename Dispatch>
33836  {
33837  d.vkDestroyPipelineLayout( m_device, static_cast<VkPipelineLayout>( pipelineLayout ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33838  }
33839 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33840 
33841  template<typename Dispatch>
33842  VULKAN_HPP_INLINE void Device::destroy( PipelineLayout pipelineLayout, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33843  {
33844  d.vkDestroyPipelineLayout( m_device, static_cast<VkPipelineLayout>( pipelineLayout ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33845  }
33846 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33847  template<typename Dispatch>
33848  VULKAN_HPP_INLINE void Device::destroy( PipelineLayout pipelineLayout, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33849  {
33850  d.vkDestroyPipelineLayout( m_device, static_cast<VkPipelineLayout>( pipelineLayout ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33851  }
33852 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33853 
33854  template<typename Dispatch>
33855  VULKAN_HPP_INLINE Result Device::createSampler( const SamplerCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Sampler* pSampler, Dispatch const &d) const
33856  {
33857  return static_cast<Result>( d.vkCreateSampler( m_device, reinterpret_cast<const VkSamplerCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSampler*>( pSampler ) ) );
33858  }
33859 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33860  template<typename Dispatch>
33862  {
33863  Sampler sampler;
33864  Result result = static_cast<Result>( d.vkCreateSampler( m_device, reinterpret_cast<const VkSamplerCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSampler*>( &sampler ) ) );
33865  return createResultValue( result, sampler, VULKAN_HPP_NAMESPACE_STRING"::Device::createSampler" );
33866  }
33867 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33868  template<typename Dispatch>
33870  {
33871  Sampler sampler;
33872  Result result = static_cast<Result>( d.vkCreateSampler( m_device, reinterpret_cast<const VkSamplerCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSampler*>( &sampler ) ) );
33873 
33874  ObjectDestroy<Device> deleter( *this, allocator );
33875  return createResultValue( result, sampler, VULKAN_HPP_NAMESPACE_STRING"::Device::createSamplerUnique", deleter );
33876  }
33877 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33878 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33879 
33880  template<typename Dispatch>
33881  VULKAN_HPP_INLINE void Device::destroySampler( Sampler sampler, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33882  {
33883  d.vkDestroySampler( m_device, static_cast<VkSampler>( sampler ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33884  }
33885 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33886  template<typename Dispatch>
33888  {
33889  d.vkDestroySampler( m_device, static_cast<VkSampler>( sampler ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33890  }
33891 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33892 
33893  template<typename Dispatch>
33894  VULKAN_HPP_INLINE void Device::destroy( Sampler sampler, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33895  {
33896  d.vkDestroySampler( m_device, static_cast<VkSampler>( sampler ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33897  }
33898 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33899  template<typename Dispatch>
33901  {
33902  d.vkDestroySampler( m_device, static_cast<VkSampler>( sampler ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33903  }
33904 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33905 
33906  template<typename Dispatch>
33907  VULKAN_HPP_INLINE Result Device::createDescriptorSetLayout( const DescriptorSetLayoutCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, DescriptorSetLayout* pSetLayout, Dispatch const &d) const
33908  {
33909  return static_cast<Result>( d.vkCreateDescriptorSetLayout( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDescriptorSetLayout*>( pSetLayout ) ) );
33910  }
33911 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33912  template<typename Dispatch>
33914  {
33915  DescriptorSetLayout setLayout;
33916  Result result = static_cast<Result>( d.vkCreateDescriptorSetLayout( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDescriptorSetLayout*>( &setLayout ) ) );
33917  return createResultValue( result, setLayout, VULKAN_HPP_NAMESPACE_STRING"::Device::createDescriptorSetLayout" );
33918  }
33919 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33920  template<typename Dispatch>
33922  {
33923  DescriptorSetLayout setLayout;
33924  Result result = static_cast<Result>( d.vkCreateDescriptorSetLayout( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDescriptorSetLayout*>( &setLayout ) ) );
33925 
33926  ObjectDestroy<Device> deleter( *this, allocator );
33927  return createResultValue( result, setLayout, VULKAN_HPP_NAMESPACE_STRING"::Device::createDescriptorSetLayoutUnique", deleter );
33928  }
33929 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33930 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33931 
33932  template<typename Dispatch>
33933  VULKAN_HPP_INLINE void Device::destroyDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33934  {
33935  d.vkDestroyDescriptorSetLayout( m_device, static_cast<VkDescriptorSetLayout>( descriptorSetLayout ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33936  }
33937 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33938  template<typename Dispatch>
33940  {
33941  d.vkDestroyDescriptorSetLayout( m_device, static_cast<VkDescriptorSetLayout>( descriptorSetLayout ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33942  }
33943 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33944 
33945  template<typename Dispatch>
33946  VULKAN_HPP_INLINE void Device::destroy( DescriptorSetLayout descriptorSetLayout, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33947  {
33948  d.vkDestroyDescriptorSetLayout( m_device, static_cast<VkDescriptorSetLayout>( descriptorSetLayout ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33949  }
33950 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33951  template<typename Dispatch>
33952  VULKAN_HPP_INLINE void Device::destroy( DescriptorSetLayout descriptorSetLayout, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
33953  {
33954  d.vkDestroyDescriptorSetLayout( m_device, static_cast<VkDescriptorSetLayout>( descriptorSetLayout ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33955  }
33956 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33957 
33958  template<typename Dispatch>
33959  VULKAN_HPP_INLINE Result Device::createDescriptorPool( const DescriptorPoolCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, DescriptorPool* pDescriptorPool, Dispatch const &d) const
33960  {
33961  return static_cast<Result>( d.vkCreateDescriptorPool( m_device, reinterpret_cast<const VkDescriptorPoolCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDescriptorPool*>( pDescriptorPool ) ) );
33962  }
33963 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33964  template<typename Dispatch>
33966  {
33967  DescriptorPool descriptorPool;
33968  Result result = static_cast<Result>( d.vkCreateDescriptorPool( m_device, reinterpret_cast<const VkDescriptorPoolCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDescriptorPool*>( &descriptorPool ) ) );
33969  return createResultValue( result, descriptorPool, VULKAN_HPP_NAMESPACE_STRING"::Device::createDescriptorPool" );
33970  }
33971 #ifndef VULKAN_HPP_NO_SMART_HANDLE
33972  template<typename Dispatch>
33974  {
33975  DescriptorPool descriptorPool;
33976  Result result = static_cast<Result>( d.vkCreateDescriptorPool( m_device, reinterpret_cast<const VkDescriptorPoolCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDescriptorPool*>( &descriptorPool ) ) );
33977 
33978  ObjectDestroy<Device> deleter( *this, allocator );
33979  return createResultValue( result, descriptorPool, VULKAN_HPP_NAMESPACE_STRING"::Device::createDescriptorPoolUnique", deleter );
33980  }
33981 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
33982 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33983 
33984  template<typename Dispatch>
33985  VULKAN_HPP_INLINE void Device::destroyDescriptorPool( DescriptorPool descriptorPool, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33986  {
33987  d.vkDestroyDescriptorPool( m_device, static_cast<VkDescriptorPool>( descriptorPool ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
33988  }
33989 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
33990  template<typename Dispatch>
33992  {
33993  d.vkDestroyDescriptorPool( m_device, static_cast<VkDescriptorPool>( descriptorPool ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
33994  }
33995 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33996 
33997  template<typename Dispatch>
33998  VULKAN_HPP_INLINE void Device::destroy( DescriptorPool descriptorPool, const AllocationCallbacks* pAllocator, Dispatch const &d) const
33999  {
34000  d.vkDestroyDescriptorPool( m_device, static_cast<VkDescriptorPool>( descriptorPool ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34001  }
34002 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34003  template<typename Dispatch>
34004  VULKAN_HPP_INLINE void Device::destroy( DescriptorPool descriptorPool, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
34005  {
34006  d.vkDestroyDescriptorPool( m_device, static_cast<VkDescriptorPool>( descriptorPool ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34007  }
34008 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34009 
34010 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
34011  template<typename Dispatch>
34013  {
34014  return static_cast<Result>( d.vkResetDescriptorPool( m_device, static_cast<VkDescriptorPool>( descriptorPool ), static_cast<VkDescriptorPoolResetFlags>( flags ) ) );
34015  }
34016 #else
34017  template<typename Dispatch>
34019  {
34020  Result result = static_cast<Result>( d.vkResetDescriptorPool( m_device, static_cast<VkDescriptorPool>( descriptorPool ), static_cast<VkDescriptorPoolResetFlags>( flags ) ) );
34021  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::resetDescriptorPool" );
34022  }
34023 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34024 
34025  template<typename Dispatch>
34026  VULKAN_HPP_INLINE Result Device::allocateDescriptorSets( const DescriptorSetAllocateInfo* pAllocateInfo, DescriptorSet* pDescriptorSets, Dispatch const &d) const
34027  {
34028  return static_cast<Result>( d.vkAllocateDescriptorSets( m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo*>( pAllocateInfo ), reinterpret_cast<VkDescriptorSet*>( pDescriptorSets ) ) );
34029  }
34030 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34031  template <typename Allocator, typename Dispatch>
34033  {
34034  std::vector<DescriptorSet,Allocator> descriptorSets( allocateInfo.descriptorSetCount );
34035  Result result = static_cast<Result>( d.vkAllocateDescriptorSets( m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo*>( &allocateInfo ), reinterpret_cast<VkDescriptorSet*>( descriptorSets.data() ) ) );
34036  return createResultValue( result, descriptorSets, VULKAN_HPP_NAMESPACE_STRING"::Device::allocateDescriptorSets" );
34037  }
34038 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34039  template <typename Allocator, typename Dispatch>
34041  {
34042  static_assert( sizeof( DescriptorSet ) <= sizeof( UniqueDescriptorSet ), "DescriptorSet is greater than UniqueDescriptorSet!" );
34043  std::vector<UniqueDescriptorSet, Allocator> descriptorSets;
34044  descriptorSets.reserve( allocateInfo.descriptorSetCount );
34045  DescriptorSet* buffer = reinterpret_cast<DescriptorSet*>( reinterpret_cast<char*>( descriptorSets.data() ) + allocateInfo.descriptorSetCount * ( sizeof( UniqueDescriptorSet ) - sizeof( DescriptorSet ) ) );
34046  Result result = static_cast<Result>(d.vkAllocateDescriptorSets( m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo*>( &allocateInfo ), reinterpret_cast<VkDescriptorSet*>( buffer ) ) );
34047 
34048  PoolFree<Device,DescriptorPool> deleter( *this, allocateInfo.descriptorPool );
34049  for ( size_t i=0 ; i<allocateInfo.descriptorSetCount ; i++ )
34050  {
34051  descriptorSets.push_back( UniqueDescriptorSet( buffer[i], deleter ) );
34052  }
34053 
34054  return createResultValue( result, descriptorSets, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" );
34055  }
34056 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34057 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34058 
34059  template<typename Dispatch>
34060  VULKAN_HPP_INLINE Result Device::freeDescriptorSets( DescriptorPool descriptorPool, uint32_t descriptorSetCount, const DescriptorSet* pDescriptorSets, Dispatch const &d) const
34061  {
34062  return static_cast<Result>( d.vkFreeDescriptorSets( m_device, static_cast<VkDescriptorPool>( descriptorPool ), descriptorSetCount, reinterpret_cast<const VkDescriptorSet*>( pDescriptorSets ) ) );
34063  }
34064 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34065  template<typename Dispatch>
34067  {
34068  Result result = static_cast<Result>( d.vkFreeDescriptorSets( m_device, static_cast<VkDescriptorPool>( descriptorPool ), descriptorSets.size() , reinterpret_cast<const VkDescriptorSet*>( descriptorSets.data() ) ) );
34069  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::freeDescriptorSets" );
34070  }
34071 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34072 
34073  template<typename Dispatch>
34074  VULKAN_HPP_INLINE Result Device::free( DescriptorPool descriptorPool, uint32_t descriptorSetCount, const DescriptorSet* pDescriptorSets, Dispatch const &d) const
34075  {
34076  return static_cast<Result>( d.vkFreeDescriptorSets( m_device, static_cast<VkDescriptorPool>( descriptorPool ), descriptorSetCount, reinterpret_cast<const VkDescriptorSet*>( pDescriptorSets ) ) );
34077  }
34078 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34079  template<typename Dispatch>
34081  {
34082  Result result = static_cast<Result>( d.vkFreeDescriptorSets( m_device, static_cast<VkDescriptorPool>( descriptorPool ), descriptorSets.size() , reinterpret_cast<const VkDescriptorSet*>( descriptorSets.data() ) ) );
34083  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::free" );
34084  }
34085 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34086 
34087  template<typename Dispatch>
34088  VULKAN_HPP_INLINE void Device::updateDescriptorSets( uint32_t descriptorWriteCount, const WriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const CopyDescriptorSet* pDescriptorCopies, Dispatch const &d) const
34089  {
34090  d.vkUpdateDescriptorSets( m_device, descriptorWriteCount, reinterpret_cast<const VkWriteDescriptorSet*>( pDescriptorWrites ), descriptorCopyCount, reinterpret_cast<const VkCopyDescriptorSet*>( pDescriptorCopies ) );
34091  }
34092 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34093  template<typename Dispatch>
34095  {
34096  d.vkUpdateDescriptorSets( m_device, descriptorWrites.size() , reinterpret_cast<const VkWriteDescriptorSet*>( descriptorWrites.data() ), descriptorCopies.size() , reinterpret_cast<const VkCopyDescriptorSet*>( descriptorCopies.data() ) );
34097  }
34098 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34099 
34100  template<typename Dispatch>
34101  VULKAN_HPP_INLINE Result Device::createFramebuffer( const FramebufferCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Framebuffer* pFramebuffer, Dispatch const &d) const
34102  {
34103  return static_cast<Result>( d.vkCreateFramebuffer( m_device, reinterpret_cast<const VkFramebufferCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkFramebuffer*>( pFramebuffer ) ) );
34104  }
34105 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34106  template<typename Dispatch>
34108  {
34110  Result result = static_cast<Result>( d.vkCreateFramebuffer( m_device, reinterpret_cast<const VkFramebufferCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkFramebuffer*>( &framebuffer ) ) );
34111  return createResultValue( result, framebuffer, VULKAN_HPP_NAMESPACE_STRING"::Device::createFramebuffer" );
34112  }
34113 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34114  template<typename Dispatch>
34116  {
34118  Result result = static_cast<Result>( d.vkCreateFramebuffer( m_device, reinterpret_cast<const VkFramebufferCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkFramebuffer*>( &framebuffer ) ) );
34119 
34120  ObjectDestroy<Device> deleter( *this, allocator );
34121  return createResultValue( result, framebuffer, VULKAN_HPP_NAMESPACE_STRING"::Device::createFramebufferUnique", deleter );
34122  }
34123 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34124 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34125 
34126  template<typename Dispatch>
34128  {
34129  d.vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( framebuffer ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34130  }
34131 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34132  template<typename Dispatch>
34134  {
34135  d.vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( framebuffer ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34136  }
34137 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34138 
34139  template<typename Dispatch>
34140  VULKAN_HPP_INLINE void Device::destroy( Framebuffer framebuffer, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34141  {
34142  d.vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( framebuffer ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34143  }
34144 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34145  template<typename Dispatch>
34147  {
34148  d.vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( framebuffer ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34149  }
34150 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34151 
34152  template<typename Dispatch>
34153  VULKAN_HPP_INLINE Result Device::createRenderPass( const RenderPassCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, RenderPass* pRenderPass, Dispatch const &d) const
34154  {
34155  return static_cast<Result>( d.vkCreateRenderPass( m_device, reinterpret_cast<const VkRenderPassCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkRenderPass*>( pRenderPass ) ) );
34156  }
34157 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34158  template<typename Dispatch>
34160  {
34161  RenderPass renderPass;
34162  Result result = static_cast<Result>( d.vkCreateRenderPass( m_device, reinterpret_cast<const VkRenderPassCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkRenderPass*>( &renderPass ) ) );
34163  return createResultValue( result, renderPass, VULKAN_HPP_NAMESPACE_STRING"::Device::createRenderPass" );
34164  }
34165 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34166  template<typename Dispatch>
34168  {
34169  RenderPass renderPass;
34170  Result result = static_cast<Result>( d.vkCreateRenderPass( m_device, reinterpret_cast<const VkRenderPassCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkRenderPass*>( &renderPass ) ) );
34171 
34172  ObjectDestroy<Device> deleter( *this, allocator );
34173  return createResultValue( result, renderPass, VULKAN_HPP_NAMESPACE_STRING"::Device::createRenderPassUnique", deleter );
34174  }
34175 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34176 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34177 
34178  template<typename Dispatch>
34179  VULKAN_HPP_INLINE void Device::destroyRenderPass( RenderPass renderPass, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34180  {
34181  d.vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34182  }
34183 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34184  template<typename Dispatch>
34186  {
34187  d.vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34188  }
34189 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34190 
34191  template<typename Dispatch>
34192  VULKAN_HPP_INLINE void Device::destroy( RenderPass renderPass, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34193  {
34194  d.vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34195  }
34196 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34197  template<typename Dispatch>
34198  VULKAN_HPP_INLINE void Device::destroy( RenderPass renderPass, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
34199  {
34200  d.vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34201  }
34202 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34203 
34204  template<typename Dispatch>
34205  VULKAN_HPP_INLINE void Device::getRenderAreaGranularity( RenderPass renderPass, Extent2D* pGranularity, Dispatch const &d) const
34206  {
34207  d.vkGetRenderAreaGranularity( m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<VkExtent2D*>( pGranularity ) );
34208  }
34209 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34210  template<typename Dispatch>
34212  {
34213  Extent2D granularity;
34214  d.vkGetRenderAreaGranularity( m_device, static_cast<VkRenderPass>( renderPass ), reinterpret_cast<VkExtent2D*>( &granularity ) );
34215  return granularity;
34216  }
34217 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34218 
34219  template<typename Dispatch>
34220  VULKAN_HPP_INLINE Result Device::createCommandPool( const CommandPoolCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, CommandPool* pCommandPool, Dispatch const &d) const
34221  {
34222  return static_cast<Result>( d.vkCreateCommandPool( m_device, reinterpret_cast<const VkCommandPoolCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkCommandPool*>( pCommandPool ) ) );
34223  }
34224 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34225  template<typename Dispatch>
34227  {
34228  CommandPool commandPool;
34229  Result result = static_cast<Result>( d.vkCreateCommandPool( m_device, reinterpret_cast<const VkCommandPoolCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkCommandPool*>( &commandPool ) ) );
34230  return createResultValue( result, commandPool, VULKAN_HPP_NAMESPACE_STRING"::Device::createCommandPool" );
34231  }
34232 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34233  template<typename Dispatch>
34235  {
34236  CommandPool commandPool;
34237  Result result = static_cast<Result>( d.vkCreateCommandPool( m_device, reinterpret_cast<const VkCommandPoolCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkCommandPool*>( &commandPool ) ) );
34238 
34239  ObjectDestroy<Device> deleter( *this, allocator );
34240  return createResultValue( result, commandPool, VULKAN_HPP_NAMESPACE_STRING"::Device::createCommandPoolUnique", deleter );
34241  }
34242 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34243 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34244 
34245  template<typename Dispatch>
34246  VULKAN_HPP_INLINE void Device::destroyCommandPool( CommandPool commandPool, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34247  {
34248  d.vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34249  }
34250 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34251  template<typename Dispatch>
34253  {
34254  d.vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34255  }
34256 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34257 
34258  template<typename Dispatch>
34259  VULKAN_HPP_INLINE void Device::destroy( CommandPool commandPool, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34260  {
34261  d.vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34262  }
34263 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34264  template<typename Dispatch>
34265  VULKAN_HPP_INLINE void Device::destroy( CommandPool commandPool, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
34266  {
34267  d.vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34268  }
34269 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34270 
34271 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
34272  template<typename Dispatch>
34274  {
34275  return static_cast<Result>( d.vkResetCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolResetFlags>( flags ) ) );
34276  }
34277 #else
34278  template<typename Dispatch>
34280  {
34281  Result result = static_cast<Result>( d.vkResetCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolResetFlags>( flags ) ) );
34282  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::resetCommandPool" );
34283  }
34284 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34285 
34286  template<typename Dispatch>
34287  VULKAN_HPP_INLINE Result Device::allocateCommandBuffers( const CommandBufferAllocateInfo* pAllocateInfo, CommandBuffer* pCommandBuffers, Dispatch const &d) const
34288  {
34289  return static_cast<Result>( d.vkAllocateCommandBuffers( m_device, reinterpret_cast<const VkCommandBufferAllocateInfo*>( pAllocateInfo ), reinterpret_cast<VkCommandBuffer*>( pCommandBuffers ) ) );
34290  }
34291 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34292  template <typename Allocator, typename Dispatch>
34294  {
34295  std::vector<CommandBuffer,Allocator> commandBuffers( allocateInfo.commandBufferCount );
34296  Result result = static_cast<Result>( d.vkAllocateCommandBuffers( m_device, reinterpret_cast<const VkCommandBufferAllocateInfo*>( &allocateInfo ), reinterpret_cast<VkCommandBuffer*>( commandBuffers.data() ) ) );
34297  return createResultValue( result, commandBuffers, VULKAN_HPP_NAMESPACE_STRING"::Device::allocateCommandBuffers" );
34298  }
34299 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34300  template <typename Allocator, typename Dispatch>
34302  {
34303  static_assert( sizeof( CommandBuffer ) <= sizeof( UniqueCommandBuffer ), "CommandBuffer is greater than UniqueCommandBuffer!" );
34304  std::vector<UniqueCommandBuffer, Allocator> commandBuffers;
34305  commandBuffers.reserve( allocateInfo.commandBufferCount );
34306  CommandBuffer* buffer = reinterpret_cast<CommandBuffer*>( reinterpret_cast<char*>( commandBuffers.data() ) + allocateInfo.commandBufferCount * ( sizeof( UniqueCommandBuffer ) - sizeof( CommandBuffer ) ) );
34307  Result result = static_cast<Result>(d.vkAllocateCommandBuffers( m_device, reinterpret_cast<const VkCommandBufferAllocateInfo*>( &allocateInfo ), reinterpret_cast<VkCommandBuffer*>( buffer ) ) );
34308 
34309  PoolFree<Device,CommandPool> deleter( *this, allocateInfo.commandPool );
34310  for ( size_t i=0 ; i<allocateInfo.commandBufferCount ; i++ )
34311  {
34312  commandBuffers.push_back( UniqueCommandBuffer( buffer[i], deleter ) );
34313  }
34314 
34315  return createResultValue( result, commandBuffers, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" );
34316  }
34317 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34318 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34319 
34320  template<typename Dispatch>
34321  VULKAN_HPP_INLINE void Device::freeCommandBuffers( CommandPool commandPool, uint32_t commandBufferCount, const CommandBuffer* pCommandBuffers, Dispatch const &d) const
34322  {
34323  d.vkFreeCommandBuffers( m_device, static_cast<VkCommandPool>( commandPool ), commandBufferCount, reinterpret_cast<const VkCommandBuffer*>( pCommandBuffers ) );
34324  }
34325 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34326  template<typename Dispatch>
34327  VULKAN_HPP_INLINE void Device::freeCommandBuffers( CommandPool commandPool, ArrayProxy<const CommandBuffer> commandBuffers, Dispatch const &d ) const
34328  {
34329  d.vkFreeCommandBuffers( m_device, static_cast<VkCommandPool>( commandPool ), commandBuffers.size() , reinterpret_cast<const VkCommandBuffer*>( commandBuffers.data() ) );
34330  }
34331 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34332 
34333  template<typename Dispatch>
34334  VULKAN_HPP_INLINE void Device::free( CommandPool commandPool, uint32_t commandBufferCount, const CommandBuffer* pCommandBuffers, Dispatch const &d) const
34335  {
34336  d.vkFreeCommandBuffers( m_device, static_cast<VkCommandPool>( commandPool ), commandBufferCount, reinterpret_cast<const VkCommandBuffer*>( pCommandBuffers ) );
34337  }
34338 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34339  template<typename Dispatch>
34340  VULKAN_HPP_INLINE void Device::free( CommandPool commandPool, ArrayProxy<const CommandBuffer> commandBuffers, Dispatch const &d ) const
34341  {
34342  d.vkFreeCommandBuffers( m_device, static_cast<VkCommandPool>( commandPool ), commandBuffers.size() , reinterpret_cast<const VkCommandBuffer*>( commandBuffers.data() ) );
34343  }
34344 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34345 
34346  template<typename Dispatch>
34347  VULKAN_HPP_INLINE Result Device::createSharedSwapchainsKHR( uint32_t swapchainCount, const SwapchainCreateInfoKHR* pCreateInfos, const AllocationCallbacks* pAllocator, SwapchainKHR* pSwapchains, Dispatch const &d) const
34348  {
34349  return static_cast<Result>( d.vkCreateSharedSwapchainsKHR( m_device, swapchainCount, reinterpret_cast<const VkSwapchainCreateInfoKHR*>( pCreateInfos ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSwapchainKHR*>( pSwapchains ) ) );
34350  }
34351 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34352  template <typename Allocator, typename Dispatch>
34354  {
34355  std::vector<SwapchainKHR,Allocator> swapchains( createInfos.size() );
34356  Result result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR( m_device, createInfos.size() , reinterpret_cast<const VkSwapchainCreateInfoKHR*>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSwapchainKHR*>( swapchains.data() ) ) );
34357  return createResultValue( result, swapchains, VULKAN_HPP_NAMESPACE_STRING"::Device::createSharedSwapchainsKHR" );
34358  }
34359  template <typename Allocator, typename Dispatch>
34361  {
34362  SwapchainKHR swapchain;
34363  Result result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR( m_device, 1 , reinterpret_cast<const VkSwapchainCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSwapchainKHR*>( &swapchain ) ) );
34364  return createResultValue( result, swapchain, VULKAN_HPP_NAMESPACE_STRING"::Device::createSharedSwapchainKHR" );
34365  }
34366 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34367  template <typename Allocator, typename Dispatch>
34369  {
34370  static_assert( sizeof( SwapchainKHR ) <= sizeof( UniqueSwapchainKHR ), "SwapchainKHR is greater than UniqueSwapchainKHR!" );
34371  std::vector<UniqueSwapchainKHR, Allocator> swapchainKHRs;
34372  swapchainKHRs.reserve( createInfos.size() );
34373  SwapchainKHR* buffer = reinterpret_cast<SwapchainKHR*>( reinterpret_cast<char*>( swapchainKHRs.data() ) + createInfos.size() * ( sizeof( UniqueSwapchainKHR ) - sizeof( SwapchainKHR ) ) );
34374  Result result = static_cast<Result>(d.vkCreateSharedSwapchainsKHR( m_device, createInfos.size() , reinterpret_cast<const VkSwapchainCreateInfoKHR*>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSwapchainKHR*>( buffer ) ) );
34375 
34376  ObjectDestroy<Device> deleter( *this, allocator );
34377  for ( size_t i=0 ; i<createInfos.size() ; i++ )
34378  {
34379  swapchainKHRs.push_back( UniqueSwapchainKHR( buffer[i], deleter ) );
34380  }
34381 
34382  return createResultValue( result, swapchainKHRs, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" );
34383  }
34384  template <typename Allocator, typename Dispatch>
34386  {
34387  SwapchainKHR swapchain;
34388  Result result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR( m_device, 1 , reinterpret_cast<const VkSwapchainCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSwapchainKHR*>( &swapchain ) ) );
34389 
34390  ObjectDestroy<Device> deleter( *this, allocator );
34391  return createResultValue( result, swapchain, VULKAN_HPP_NAMESPACE_STRING"::Device::createSharedSwapchainKHRUnique", deleter );
34392  }
34393 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34394 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34395 
34396  template<typename Dispatch>
34397  VULKAN_HPP_INLINE Result Device::createSwapchainKHR( const SwapchainCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SwapchainKHR* pSwapchain, Dispatch const &d) const
34398  {
34399  return static_cast<Result>( d.vkCreateSwapchainKHR( m_device, reinterpret_cast<const VkSwapchainCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSwapchainKHR*>( pSwapchain ) ) );
34400  }
34401 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34402  template<typename Dispatch>
34404  {
34405  SwapchainKHR swapchain;
34406  Result result = static_cast<Result>( d.vkCreateSwapchainKHR( m_device, reinterpret_cast<const VkSwapchainCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSwapchainKHR*>( &swapchain ) ) );
34407  return createResultValue( result, swapchain, VULKAN_HPP_NAMESPACE_STRING"::Device::createSwapchainKHR" );
34408  }
34409 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34410  template<typename Dispatch>
34412  {
34413  SwapchainKHR swapchain;
34414  Result result = static_cast<Result>( d.vkCreateSwapchainKHR( m_device, reinterpret_cast<const VkSwapchainCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSwapchainKHR*>( &swapchain ) ) );
34415 
34416  ObjectDestroy<Device> deleter( *this, allocator );
34417  return createResultValue( result, swapchain, VULKAN_HPP_NAMESPACE_STRING"::Device::createSwapchainKHRUnique", deleter );
34418  }
34419 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34420 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34421 
34422  template<typename Dispatch>
34423  VULKAN_HPP_INLINE void Device::destroySwapchainKHR( SwapchainKHR swapchain, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34424  {
34425  d.vkDestroySwapchainKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34426  }
34427 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34428  template<typename Dispatch>
34430  {
34431  d.vkDestroySwapchainKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34432  }
34433 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34434 
34435  template<typename Dispatch>
34436  VULKAN_HPP_INLINE void Device::destroy( SwapchainKHR swapchain, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34437  {
34438  d.vkDestroySwapchainKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34439  }
34440 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34441  template<typename Dispatch>
34442  VULKAN_HPP_INLINE void Device::destroy( SwapchainKHR swapchain, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
34443  {
34444  d.vkDestroySwapchainKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34445  }
34446 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34447 
34448  template<typename Dispatch>
34449  VULKAN_HPP_INLINE Result Device::getSwapchainImagesKHR( SwapchainKHR swapchain, uint32_t* pSwapchainImageCount, Image* pSwapchainImages, Dispatch const &d) const
34450  {
34451  return static_cast<Result>( d.vkGetSwapchainImagesKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), pSwapchainImageCount, reinterpret_cast<VkImage*>( pSwapchainImages ) ) );
34452  }
34453 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34454  template <typename Allocator, typename Dispatch>
34456  {
34457  std::vector<Image,Allocator> swapchainImages;
34458  uint32_t swapchainImageCount;
34459  Result result;
34460  do
34461  {
34462  result = static_cast<Result>( d.vkGetSwapchainImagesKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), &swapchainImageCount, nullptr ) );
34463  if ( ( result == Result::eSuccess ) && swapchainImageCount )
34464  {
34465  swapchainImages.resize( swapchainImageCount );
34466  result = static_cast<Result>( d.vkGetSwapchainImagesKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), &swapchainImageCount, reinterpret_cast<VkImage*>( swapchainImages.data() ) ) );
34467  }
34468  } while ( result == Result::eIncomplete );
34469  VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() );
34470  swapchainImages.resize( swapchainImageCount );
34471  return createResultValue( result, swapchainImages, VULKAN_HPP_NAMESPACE_STRING"::Device::getSwapchainImagesKHR" );
34472  }
34473 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34474 
34475  template<typename Dispatch>
34476  VULKAN_HPP_INLINE Result Device::acquireNextImageKHR( SwapchainKHR swapchain, uint64_t timeout, Semaphore semaphore, Fence fence, uint32_t* pImageIndex, Dispatch const &d) const
34477  {
34478  return static_cast<Result>( d.vkAcquireNextImageKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), timeout, static_cast<VkSemaphore>( semaphore ), static_cast<VkFence>( fence ), pImageIndex ) );
34479  }
34480 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34481  template<typename Dispatch>
34483  {
34484  uint32_t imageIndex;
34485  Result result = static_cast<Result>( d.vkAcquireNextImageKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), timeout, static_cast<VkSemaphore>( semaphore ), static_cast<VkFence>( fence ), &imageIndex ) );
34487  }
34488 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34489 
34490  template<typename Dispatch>
34492  {
34493  return static_cast<Result>( d.vkDebugMarkerSetObjectNameEXT( m_device, reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT*>( pNameInfo ) ) );
34494  }
34495 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34496  template<typename Dispatch>
34498  {
34499  Result result = static_cast<Result>( d.vkDebugMarkerSetObjectNameEXT( m_device, reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT*>( &nameInfo ) ) );
34500  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::debugMarkerSetObjectNameEXT" );
34501  }
34502 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34503 
34504  template<typename Dispatch>
34506  {
34507  return static_cast<Result>( d.vkDebugMarkerSetObjectTagEXT( m_device, reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT*>( pTagInfo ) ) );
34508  }
34509 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34510  template<typename Dispatch>
34512  {
34513  Result result = static_cast<Result>( d.vkDebugMarkerSetObjectTagEXT( m_device, reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT*>( &tagInfo ) ) );
34514  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::debugMarkerSetObjectTagEXT" );
34515  }
34516 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34517 
34518 #ifdef VK_USE_PLATFORM_WIN32_NV
34519  template<typename Dispatch>
34520  VULKAN_HPP_INLINE Result Device::getMemoryWin32HandleNV( DeviceMemory memory, ExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle, Dispatch const &d) const
34521  {
34522  return static_cast<Result>( d.vkGetMemoryWin32HandleNV( m_device, static_cast<VkDeviceMemory>( memory ), static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ), pHandle ) );
34523  }
34524 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34525  template<typename Dispatch>
34526  VULKAN_HPP_INLINE ResultValueType<HANDLE>::type Device::getMemoryWin32HandleNV( DeviceMemory memory, ExternalMemoryHandleTypeFlagsNV handleType, Dispatch const &d ) const
34527  {
34528  HANDLE handle;
34529  Result result = static_cast<Result>( d.vkGetMemoryWin32HandleNV( m_device, static_cast<VkDeviceMemory>( memory ), static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ), &handle ) );
34530  return createResultValue( result, handle, VULKAN_HPP_NAMESPACE_STRING"::Device::getMemoryWin32HandleNV" );
34531  }
34532 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34533 #endif /*VK_USE_PLATFORM_WIN32_NV*/
34534 
34535  template<typename Dispatch>
34536  VULKAN_HPP_INLINE Result Device::createIndirectCommandsLayoutNVX( const IndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const AllocationCallbacks* pAllocator, IndirectCommandsLayoutNVX* pIndirectCommandsLayout, Dispatch const &d) const
34537  {
34538  return static_cast<Result>( d.vkCreateIndirectCommandsLayoutNVX( m_device, reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNVX*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkIndirectCommandsLayoutNVX*>( pIndirectCommandsLayout ) ) );
34539  }
34540 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34541  template<typename Dispatch>
34543  {
34544  IndirectCommandsLayoutNVX indirectCommandsLayout;
34545  Result result = static_cast<Result>( d.vkCreateIndirectCommandsLayoutNVX( m_device, reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNVX*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkIndirectCommandsLayoutNVX*>( &indirectCommandsLayout ) ) );
34546  return createResultValue( result, indirectCommandsLayout, VULKAN_HPP_NAMESPACE_STRING"::Device::createIndirectCommandsLayoutNVX" );
34547  }
34548 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34549  template<typename Dispatch>
34551  {
34552  IndirectCommandsLayoutNVX indirectCommandsLayout;
34553  Result result = static_cast<Result>( d.vkCreateIndirectCommandsLayoutNVX( m_device, reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNVX*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkIndirectCommandsLayoutNVX*>( &indirectCommandsLayout ) ) );
34554 
34555  ObjectDestroy<Device> deleter( *this, allocator );
34556  return createResultValue( result, indirectCommandsLayout, VULKAN_HPP_NAMESPACE_STRING"::Device::createIndirectCommandsLayoutNVXUnique", deleter );
34557  }
34558 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34559 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34560 
34561  template<typename Dispatch>
34562  VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutNVX( IndirectCommandsLayoutNVX indirectCommandsLayout, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34563  {
34564  d.vkDestroyIndirectCommandsLayoutNVX( m_device, static_cast<VkIndirectCommandsLayoutNVX>( indirectCommandsLayout ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34565  }
34566 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34567  template<typename Dispatch>
34569  {
34570  d.vkDestroyIndirectCommandsLayoutNVX( m_device, static_cast<VkIndirectCommandsLayoutNVX>( indirectCommandsLayout ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34571  }
34572 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34573 
34574  template<typename Dispatch>
34575  VULKAN_HPP_INLINE void Device::destroy( IndirectCommandsLayoutNVX indirectCommandsLayout, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34576  {
34577  d.vkDestroyIndirectCommandsLayoutNVX( m_device, static_cast<VkIndirectCommandsLayoutNVX>( indirectCommandsLayout ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34578  }
34579 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34580  template<typename Dispatch>
34581  VULKAN_HPP_INLINE void Device::destroy( IndirectCommandsLayoutNVX indirectCommandsLayout, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
34582  {
34583  d.vkDestroyIndirectCommandsLayoutNVX( m_device, static_cast<VkIndirectCommandsLayoutNVX>( indirectCommandsLayout ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34584  }
34585 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34586 
34587  template<typename Dispatch>
34588  VULKAN_HPP_INLINE Result Device::createObjectTableNVX( const ObjectTableCreateInfoNVX* pCreateInfo, const AllocationCallbacks* pAllocator, ObjectTableNVX* pObjectTable, Dispatch const &d) const
34589  {
34590  return static_cast<Result>( d.vkCreateObjectTableNVX( m_device, reinterpret_cast<const VkObjectTableCreateInfoNVX*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkObjectTableNVX*>( pObjectTable ) ) );
34591  }
34592 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34593  template<typename Dispatch>
34595  {
34596  ObjectTableNVX objectTable;
34597  Result result = static_cast<Result>( d.vkCreateObjectTableNVX( m_device, reinterpret_cast<const VkObjectTableCreateInfoNVX*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkObjectTableNVX*>( &objectTable ) ) );
34598  return createResultValue( result, objectTable, VULKAN_HPP_NAMESPACE_STRING"::Device::createObjectTableNVX" );
34599  }
34600 #ifndef VULKAN_HPP_NO_SMART_HANDLE
34601  template<typename Dispatch>
34603  {
34604  ObjectTableNVX objectTable;
34605  Result result = static_cast<Result>( d.vkCreateObjectTableNVX( m_device, reinterpret_cast<const VkObjectTableCreateInfoNVX*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkObjectTableNVX*>( &objectTable ) ) );
34606 
34607  ObjectDestroy<Device> deleter( *this, allocator );
34608  return createResultValue( result, objectTable, VULKAN_HPP_NAMESPACE_STRING"::Device::createObjectTableNVXUnique", deleter );
34609  }
34610 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
34611 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34612 
34613  template<typename Dispatch>
34614  VULKAN_HPP_INLINE void Device::destroyObjectTableNVX( ObjectTableNVX objectTable, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34615  {
34616  d.vkDestroyObjectTableNVX( m_device, static_cast<VkObjectTableNVX>( objectTable ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34617  }
34618 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34619  template<typename Dispatch>
34621  {
34622  d.vkDestroyObjectTableNVX( m_device, static_cast<VkObjectTableNVX>( objectTable ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34623  }
34624 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34625 
34626  template<typename Dispatch>
34627  VULKAN_HPP_INLINE void Device::destroy( ObjectTableNVX objectTable, const AllocationCallbacks* pAllocator, Dispatch const &d) const
34628  {
34629  d.vkDestroyObjectTableNVX( m_device, static_cast<VkObjectTableNVX>( objectTable ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
34630  }
34631 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34632  template<typename Dispatch>
34633  VULKAN_HPP_INLINE void Device::destroy( ObjectTableNVX objectTable, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
34634  {
34635  d.vkDestroyObjectTableNVX( m_device, static_cast<VkObjectTableNVX>( objectTable ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
34636  }
34637 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34638 
34639  template<typename Dispatch>
34640  VULKAN_HPP_INLINE Result Device::registerObjectsNVX( ObjectTableNVX objectTable, uint32_t objectCount, const ObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices, Dispatch const &d) const
34641  {
34642  return static_cast<Result>( d.vkRegisterObjectsNVX( m_device, static_cast<VkObjectTableNVX>( objectTable ), objectCount, reinterpret_cast<const VkObjectTableEntryNVX* const*>( ppObjectTableEntries ), pObjectIndices ) );
34643  }
34644 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34645  template<typename Dispatch>
34647  {
34648 #ifdef VULKAN_HPP_NO_EXCEPTIONS
34649  VULKAN_HPP_ASSERT( pObjectTableEntries.size() == objectIndices.size() );
34650 #else
34651  if ( pObjectTableEntries.size() != objectIndices.size() )
34652  {
34653  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::registerObjectsNVX: pObjectTableEntries.size() != objectIndices.size()" );
34654  }
34655 #endif // VULKAN_HPP_NO_EXCEPTIONS
34656  Result result = static_cast<Result>( d.vkRegisterObjectsNVX( m_device, static_cast<VkObjectTableNVX>( objectTable ), pObjectTableEntries.size() , reinterpret_cast<const VkObjectTableEntryNVX* const*>( pObjectTableEntries.data() ), objectIndices.data() ) );
34657  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::registerObjectsNVX" );
34658  }
34659 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34660 
34661  template<typename Dispatch>
34662  VULKAN_HPP_INLINE Result Device::unregisterObjectsNVX( ObjectTableNVX objectTable, uint32_t objectCount, const ObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices, Dispatch const &d) const
34663  {
34664  return static_cast<Result>( d.vkUnregisterObjectsNVX( m_device, static_cast<VkObjectTableNVX>( objectTable ), objectCount, reinterpret_cast<const VkObjectEntryTypeNVX*>( pObjectEntryTypes ), pObjectIndices ) );
34665  }
34666 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34667  template<typename Dispatch>
34669  {
34670 #ifdef VULKAN_HPP_NO_EXCEPTIONS
34671  VULKAN_HPP_ASSERT( objectEntryTypes.size() == objectIndices.size() );
34672 #else
34673  if ( objectEntryTypes.size() != objectIndices.size() )
34674  {
34675  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::unregisterObjectsNVX: objectEntryTypes.size() != objectIndices.size()" );
34676  }
34677 #endif // VULKAN_HPP_NO_EXCEPTIONS
34678  Result result = static_cast<Result>( d.vkUnregisterObjectsNVX( m_device, static_cast<VkObjectTableNVX>( objectTable ), objectEntryTypes.size() , reinterpret_cast<const VkObjectEntryTypeNVX*>( objectEntryTypes.data() ), objectIndices.data() ) );
34679  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::unregisterObjectsNVX" );
34680  }
34681 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34682 
34683 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
34684  template<typename Dispatch>
34685  VULKAN_HPP_INLINE void Device::trimCommandPool( CommandPool commandPool, CommandPoolTrimFlags flags, Dispatch const &d) const
34686  {
34687  d.vkTrimCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) );
34688  }
34689 #else
34690  template<typename Dispatch>
34692  {
34693  d.vkTrimCommandPool( m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) );
34694  }
34695 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34696 
34697 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
34698  template<typename Dispatch>
34699  VULKAN_HPP_INLINE void Device::trimCommandPoolKHR( CommandPool commandPool, CommandPoolTrimFlags flags, Dispatch const &d) const
34700  {
34701  d.vkTrimCommandPoolKHR( m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) );
34702  }
34703 #else
34704  template<typename Dispatch>
34706  {
34707  d.vkTrimCommandPoolKHR( m_device, static_cast<VkCommandPool>( commandPool ), static_cast<VkCommandPoolTrimFlags>( flags ) );
34708  }
34709 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34710 
34711 #ifdef VK_USE_PLATFORM_WIN32_KHR
34712  template<typename Dispatch>
34713  VULKAN_HPP_INLINE Result Device::getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle, Dispatch const &d) const
34714  {
34715  return static_cast<Result>( d.vkGetMemoryWin32HandleKHR( m_device, reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR*>( pGetWin32HandleInfo ), pHandle ) );
34716  }
34717 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34718  template<typename Dispatch>
34719  VULKAN_HPP_INLINE ResultValueType<HANDLE>::type Device::getMemoryWin32HandleKHR( const MemoryGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const &d ) const
34720  {
34721  HANDLE handle;
34722  Result result = static_cast<Result>( d.vkGetMemoryWin32HandleKHR( m_device, reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR*>( &getWin32HandleInfo ), &handle ) );
34723  return createResultValue( result, handle, VULKAN_HPP_NAMESPACE_STRING"::Device::getMemoryWin32HandleKHR" );
34724  }
34725 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34726 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
34727 
34728 #ifdef VK_USE_PLATFORM_WIN32_KHR
34729  template<typename Dispatch>
34730  VULKAN_HPP_INLINE Result Device::getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, MemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties, Dispatch const &d) const
34731  {
34732  return static_cast<Result>( d.vkGetMemoryWin32HandlePropertiesKHR( m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), handle, reinterpret_cast<VkMemoryWin32HandlePropertiesKHR*>( pMemoryWin32HandleProperties ) ) );
34733  }
34734 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34735  template<typename Dispatch>
34736  VULKAN_HPP_INLINE ResultValueType<MemoryWin32HandlePropertiesKHR>::type Device::getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, Dispatch const &d ) const
34737  {
34738  MemoryWin32HandlePropertiesKHR memoryWin32HandleProperties;
34739  Result result = static_cast<Result>( d.vkGetMemoryWin32HandlePropertiesKHR( m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), handle, reinterpret_cast<VkMemoryWin32HandlePropertiesKHR*>( &memoryWin32HandleProperties ) ) );
34740  return createResultValue( result, memoryWin32HandleProperties, VULKAN_HPP_NAMESPACE_STRING"::Device::getMemoryWin32HandlePropertiesKHR" );
34741  }
34742 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34743 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
34744 
34745  template<typename Dispatch>
34746  VULKAN_HPP_INLINE Result Device::getMemoryFdKHR( const MemoryGetFdInfoKHR* pGetFdInfo, int* pFd, Dispatch const &d) const
34747  {
34748  return static_cast<Result>( d.vkGetMemoryFdKHR( m_device, reinterpret_cast<const VkMemoryGetFdInfoKHR*>( pGetFdInfo ), pFd ) );
34749  }
34750 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34751  template<typename Dispatch>
34753  {
34754  int fd;
34755  Result result = static_cast<Result>( d.vkGetMemoryFdKHR( m_device, reinterpret_cast<const VkMemoryGetFdInfoKHR*>( &getFdInfo ), &fd ) );
34756  return createResultValue( result, fd, VULKAN_HPP_NAMESPACE_STRING"::Device::getMemoryFdKHR" );
34757  }
34758 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34759 
34760  template<typename Dispatch>
34762  {
34763  return static_cast<Result>( d.vkGetMemoryFdPropertiesKHR( m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), fd, reinterpret_cast<VkMemoryFdPropertiesKHR*>( pMemoryFdProperties ) ) );
34764  }
34765 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34766  template<typename Dispatch>
34768  {
34769  MemoryFdPropertiesKHR memoryFdProperties;
34770  Result result = static_cast<Result>( d.vkGetMemoryFdPropertiesKHR( m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), fd, reinterpret_cast<VkMemoryFdPropertiesKHR*>( &memoryFdProperties ) ) );
34771  return createResultValue( result, memoryFdProperties, VULKAN_HPP_NAMESPACE_STRING"::Device::getMemoryFdPropertiesKHR" );
34772  }
34773 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34774 
34775 #ifdef VK_USE_PLATFORM_WIN32_KHR
34776  template<typename Dispatch>
34777  VULKAN_HPP_INLINE Result Device::getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle, Dispatch const &d) const
34778  {
34779  return static_cast<Result>( d.vkGetSemaphoreWin32HandleKHR( m_device, reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR*>( pGetWin32HandleInfo ), pHandle ) );
34780  }
34781 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34782  template<typename Dispatch>
34783  VULKAN_HPP_INLINE ResultValueType<HANDLE>::type Device::getSemaphoreWin32HandleKHR( const SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const &d ) const
34784  {
34785  HANDLE handle;
34786  Result result = static_cast<Result>( d.vkGetSemaphoreWin32HandleKHR( m_device, reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR*>( &getWin32HandleInfo ), &handle ) );
34787  return createResultValue( result, handle, VULKAN_HPP_NAMESPACE_STRING"::Device::getSemaphoreWin32HandleKHR" );
34788  }
34789 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34790 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
34791 
34792 #ifdef VK_USE_PLATFORM_WIN32_KHR
34793  template<typename Dispatch>
34794  VULKAN_HPP_INLINE Result Device::importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo, Dispatch const &d) const
34795  {
34796  return static_cast<Result>( d.vkImportSemaphoreWin32HandleKHR( m_device, reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR*>( pImportSemaphoreWin32HandleInfo ) ) );
34797  }
34798 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34799  template<typename Dispatch>
34800  VULKAN_HPP_INLINE ResultValueType<void>::type Device::importSemaphoreWin32HandleKHR( const ImportSemaphoreWin32HandleInfoKHR & importSemaphoreWin32HandleInfo, Dispatch const &d ) const
34801  {
34802  Result result = static_cast<Result>( d.vkImportSemaphoreWin32HandleKHR( m_device, reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR*>( &importSemaphoreWin32HandleInfo ) ) );
34803  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::importSemaphoreWin32HandleKHR" );
34804  }
34805 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34806 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
34807 
34808  template<typename Dispatch>
34809  VULKAN_HPP_INLINE Result Device::getSemaphoreFdKHR( const SemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd, Dispatch const &d) const
34810  {
34811  return static_cast<Result>( d.vkGetSemaphoreFdKHR( m_device, reinterpret_cast<const VkSemaphoreGetFdInfoKHR*>( pGetFdInfo ), pFd ) );
34812  }
34813 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34814  template<typename Dispatch>
34816  {
34817  int fd;
34818  Result result = static_cast<Result>( d.vkGetSemaphoreFdKHR( m_device, reinterpret_cast<const VkSemaphoreGetFdInfoKHR*>( &getFdInfo ), &fd ) );
34819  return createResultValue( result, fd, VULKAN_HPP_NAMESPACE_STRING"::Device::getSemaphoreFdKHR" );
34820  }
34821 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34822 
34823  template<typename Dispatch>
34824  VULKAN_HPP_INLINE Result Device::importSemaphoreFdKHR( const ImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo, Dispatch const &d) const
34825  {
34826  return static_cast<Result>( d.vkImportSemaphoreFdKHR( m_device, reinterpret_cast<const VkImportSemaphoreFdInfoKHR*>( pImportSemaphoreFdInfo ) ) );
34827  }
34828 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34829  template<typename Dispatch>
34831  {
34832  Result result = static_cast<Result>( d.vkImportSemaphoreFdKHR( m_device, reinterpret_cast<const VkImportSemaphoreFdInfoKHR*>( &importSemaphoreFdInfo ) ) );
34833  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::importSemaphoreFdKHR" );
34834  }
34835 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34836 
34837 #ifdef VK_USE_PLATFORM_WIN32_KHR
34838  template<typename Dispatch>
34839  VULKAN_HPP_INLINE Result Device::getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle, Dispatch const &d) const
34840  {
34841  return static_cast<Result>( d.vkGetFenceWin32HandleKHR( m_device, reinterpret_cast<const VkFenceGetWin32HandleInfoKHR*>( pGetWin32HandleInfo ), pHandle ) );
34842  }
34843 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34844  template<typename Dispatch>
34845  VULKAN_HPP_INLINE ResultValueType<HANDLE>::type Device::getFenceWin32HandleKHR( const FenceGetWin32HandleInfoKHR & getWin32HandleInfo, Dispatch const &d ) const
34846  {
34847  HANDLE handle;
34848  Result result = static_cast<Result>( d.vkGetFenceWin32HandleKHR( m_device, reinterpret_cast<const VkFenceGetWin32HandleInfoKHR*>( &getWin32HandleInfo ), &handle ) );
34849  return createResultValue( result, handle, VULKAN_HPP_NAMESPACE_STRING"::Device::getFenceWin32HandleKHR" );
34850  }
34851 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34852 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
34853 
34854 #ifdef VK_USE_PLATFORM_WIN32_KHR
34855  template<typename Dispatch>
34856  VULKAN_HPP_INLINE Result Device::importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo, Dispatch const &d) const
34857  {
34858  return static_cast<Result>( d.vkImportFenceWin32HandleKHR( m_device, reinterpret_cast<const VkImportFenceWin32HandleInfoKHR*>( pImportFenceWin32HandleInfo ) ) );
34859  }
34860 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34861  template<typename Dispatch>
34862  VULKAN_HPP_INLINE ResultValueType<void>::type Device::importFenceWin32HandleKHR( const ImportFenceWin32HandleInfoKHR & importFenceWin32HandleInfo, Dispatch const &d ) const
34863  {
34864  Result result = static_cast<Result>( d.vkImportFenceWin32HandleKHR( m_device, reinterpret_cast<const VkImportFenceWin32HandleInfoKHR*>( &importFenceWin32HandleInfo ) ) );
34865  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::importFenceWin32HandleKHR" );
34866  }
34867 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34868 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
34869 
34870  template<typename Dispatch>
34871  VULKAN_HPP_INLINE Result Device::getFenceFdKHR( const FenceGetFdInfoKHR* pGetFdInfo, int* pFd, Dispatch const &d) const
34872  {
34873  return static_cast<Result>( d.vkGetFenceFdKHR( m_device, reinterpret_cast<const VkFenceGetFdInfoKHR*>( pGetFdInfo ), pFd ) );
34874  }
34875 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34876  template<typename Dispatch>
34878  {
34879  int fd;
34880  Result result = static_cast<Result>( d.vkGetFenceFdKHR( m_device, reinterpret_cast<const VkFenceGetFdInfoKHR*>( &getFdInfo ), &fd ) );
34881  return createResultValue( result, fd, VULKAN_HPP_NAMESPACE_STRING"::Device::getFenceFdKHR" );
34882  }
34883 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34884 
34885  template<typename Dispatch>
34886  VULKAN_HPP_INLINE Result Device::importFenceFdKHR( const ImportFenceFdInfoKHR* pImportFenceFdInfo, Dispatch const &d) const
34887  {
34888  return static_cast<Result>( d.vkImportFenceFdKHR( m_device, reinterpret_cast<const VkImportFenceFdInfoKHR*>( pImportFenceFdInfo ) ) );
34889  }
34890 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34891  template<typename Dispatch>
34893  {
34894  Result result = static_cast<Result>( d.vkImportFenceFdKHR( m_device, reinterpret_cast<const VkImportFenceFdInfoKHR*>( &importFenceFdInfo ) ) );
34895  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::importFenceFdKHR" );
34896  }
34897 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34898 
34899  template<typename Dispatch>
34900  VULKAN_HPP_INLINE Result Device::displayPowerControlEXT( DisplayKHR display, const DisplayPowerInfoEXT* pDisplayPowerInfo, Dispatch const &d) const
34901  {
34902  return static_cast<Result>( d.vkDisplayPowerControlEXT( m_device, static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayPowerInfoEXT*>( pDisplayPowerInfo ) ) );
34903  }
34904 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34905  template<typename Dispatch>
34907  {
34908  Result result = static_cast<Result>( d.vkDisplayPowerControlEXT( m_device, static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayPowerInfoEXT*>( &displayPowerInfo ) ) );
34909  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::displayPowerControlEXT" );
34910  }
34911 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34912 
34913  template<typename Dispatch>
34914  VULKAN_HPP_INLINE Result Device::registerEventEXT( const DeviceEventInfoEXT* pDeviceEventInfo, const AllocationCallbacks* pAllocator, Fence* pFence, Dispatch const &d) const
34915  {
34916  return static_cast<Result>( d.vkRegisterDeviceEventEXT( m_device, reinterpret_cast<const VkDeviceEventInfoEXT*>( pDeviceEventInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkFence*>( pFence ) ) );
34917  }
34918 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34919  template<typename Dispatch>
34921  {
34922  Fence fence;
34923  Result result = static_cast<Result>( d.vkRegisterDeviceEventEXT( m_device, reinterpret_cast<const VkDeviceEventInfoEXT*>( &deviceEventInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkFence*>( &fence ) ) );
34924  return createResultValue( result, fence, VULKAN_HPP_NAMESPACE_STRING"::Device::registerEventEXT" );
34925  }
34926 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34927 
34928  template<typename Dispatch>
34929  VULKAN_HPP_INLINE Result Device::registerDisplayEventEXT( DisplayKHR display, const DisplayEventInfoEXT* pDisplayEventInfo, const AllocationCallbacks* pAllocator, Fence* pFence, Dispatch const &d) const
34930  {
34931  return static_cast<Result>( d.vkRegisterDisplayEventEXT( m_device, static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayEventInfoEXT*>( pDisplayEventInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkFence*>( pFence ) ) );
34932  }
34933 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34934  template<typename Dispatch>
34936  {
34937  Fence fence;
34938  Result result = static_cast<Result>( d.vkRegisterDisplayEventEXT( m_device, static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayEventInfoEXT*>( &displayEventInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkFence*>( &fence ) ) );
34939  return createResultValue( result, fence, VULKAN_HPP_NAMESPACE_STRING"::Device::registerDisplayEventEXT" );
34940  }
34941 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34942 
34943  template<typename Dispatch>
34945  {
34946  return static_cast<Result>( d.vkGetSwapchainCounterEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ), static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), pCounterValue ) );
34947  }
34948 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34949  template<typename Dispatch>
34951  {
34952  uint64_t counterValue;
34953  Result result = static_cast<Result>( d.vkGetSwapchainCounterEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ), static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), &counterValue ) );
34954  return createResultValue( result, counterValue, VULKAN_HPP_NAMESPACE_STRING"::Device::getSwapchainCounterEXT" );
34955  }
34956 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34957 
34958  template<typename Dispatch>
34959  VULKAN_HPP_INLINE void Device::getGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, PeerMemoryFeatureFlags* pPeerMemoryFeatures, Dispatch const &d) const
34960  {
34961  d.vkGetDeviceGroupPeerMemoryFeatures( m_device, heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast<VkPeerMemoryFeatureFlags*>( pPeerMemoryFeatures ) );
34962  }
34963 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34964  template<typename Dispatch>
34965  VULKAN_HPP_INLINE PeerMemoryFeatureFlags Device::getGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, Dispatch const &d ) const
34966  {
34967  PeerMemoryFeatureFlags peerMemoryFeatures;
34968  d.vkGetDeviceGroupPeerMemoryFeatures( m_device, heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast<VkPeerMemoryFeatureFlags*>( &peerMemoryFeatures ) );
34969  return peerMemoryFeatures;
34970  }
34971 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34972 
34973  template<typename Dispatch>
34974  VULKAN_HPP_INLINE void Device::getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, PeerMemoryFeatureFlags* pPeerMemoryFeatures, Dispatch const &d) const
34975  {
34976  d.vkGetDeviceGroupPeerMemoryFeaturesKHR( m_device, heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast<VkPeerMemoryFeatureFlags*>( pPeerMemoryFeatures ) );
34977  }
34978 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34979  template<typename Dispatch>
34980  VULKAN_HPP_INLINE PeerMemoryFeatureFlags Device::getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, Dispatch const &d ) const
34981  {
34982  PeerMemoryFeatureFlags peerMemoryFeatures;
34983  d.vkGetDeviceGroupPeerMemoryFeaturesKHR( m_device, heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast<VkPeerMemoryFeatureFlags*>( &peerMemoryFeatures ) );
34984  return peerMemoryFeatures;
34985  }
34986 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34987 
34988  template<typename Dispatch>
34989  VULKAN_HPP_INLINE Result Device::bindBufferMemory2( uint32_t bindInfoCount, const BindBufferMemoryInfo* pBindInfos, Dispatch const &d) const
34990  {
34991  return static_cast<Result>( d.vkBindBufferMemory2( m_device, bindInfoCount, reinterpret_cast<const VkBindBufferMemoryInfo*>( pBindInfos ) ) );
34992  }
34993 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
34994  template<typename Dispatch>
34996  {
34997  Result result = static_cast<Result>( d.vkBindBufferMemory2( m_device, bindInfos.size() , reinterpret_cast<const VkBindBufferMemoryInfo*>( bindInfos.data() ) ) );
34998  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::bindBufferMemory2" );
34999  }
35000 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35001 
35002  template<typename Dispatch>
35003  VULKAN_HPP_INLINE Result Device::bindBufferMemory2KHR( uint32_t bindInfoCount, const BindBufferMemoryInfo* pBindInfos, Dispatch const &d) const
35004  {
35005  return static_cast<Result>( d.vkBindBufferMemory2KHR( m_device, bindInfoCount, reinterpret_cast<const VkBindBufferMemoryInfo*>( pBindInfos ) ) );
35006  }
35007 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35008  template<typename Dispatch>
35010  {
35011  Result result = static_cast<Result>( d.vkBindBufferMemory2KHR( m_device, bindInfos.size() , reinterpret_cast<const VkBindBufferMemoryInfo*>( bindInfos.data() ) ) );
35012  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::bindBufferMemory2KHR" );
35013  }
35014 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35015 
35016  template<typename Dispatch>
35017  VULKAN_HPP_INLINE Result Device::bindImageMemory2( uint32_t bindInfoCount, const BindImageMemoryInfo* pBindInfos, Dispatch const &d) const
35018  {
35019  return static_cast<Result>( d.vkBindImageMemory2( m_device, bindInfoCount, reinterpret_cast<const VkBindImageMemoryInfo*>( pBindInfos ) ) );
35020  }
35021 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35022  template<typename Dispatch>
35024  {
35025  Result result = static_cast<Result>( d.vkBindImageMemory2( m_device, bindInfos.size() , reinterpret_cast<const VkBindImageMemoryInfo*>( bindInfos.data() ) ) );
35026  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::bindImageMemory2" );
35027  }
35028 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35029 
35030  template<typename Dispatch>
35031  VULKAN_HPP_INLINE Result Device::bindImageMemory2KHR( uint32_t bindInfoCount, const BindImageMemoryInfo* pBindInfos, Dispatch const &d) const
35032  {
35033  return static_cast<Result>( d.vkBindImageMemory2KHR( m_device, bindInfoCount, reinterpret_cast<const VkBindImageMemoryInfo*>( pBindInfos ) ) );
35034  }
35035 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35036  template<typename Dispatch>
35038  {
35039  Result result = static_cast<Result>( d.vkBindImageMemory2KHR( m_device, bindInfos.size() , reinterpret_cast<const VkBindImageMemoryInfo*>( bindInfos.data() ) ) );
35040  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::bindImageMemory2KHR" );
35041  }
35042 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35043 
35044  template<typename Dispatch>
35045  VULKAN_HPP_INLINE Result Device::getGroupPresentCapabilitiesKHR( DeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities, Dispatch const &d) const
35046  {
35047  return static_cast<Result>( d.vkGetDeviceGroupPresentCapabilitiesKHR( m_device, reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR*>( pDeviceGroupPresentCapabilities ) ) );
35048  }
35049 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35050  template<typename Dispatch>
35052  {
35053  DeviceGroupPresentCapabilitiesKHR deviceGroupPresentCapabilities;
35054  Result result = static_cast<Result>( d.vkGetDeviceGroupPresentCapabilitiesKHR( m_device, reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR*>( &deviceGroupPresentCapabilities ) ) );
35055  return createResultValue( result, deviceGroupPresentCapabilities, VULKAN_HPP_NAMESPACE_STRING"::Device::getGroupPresentCapabilitiesKHR" );
35056  }
35057 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35058 
35059  template<typename Dispatch>
35061  {
35062  return static_cast<Result>( d.vkGetDeviceGroupSurfacePresentModesKHR( m_device, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR*>( pModes ) ) );
35063  }
35064 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35065  template<typename Dispatch>
35067  {
35069  Result result = static_cast<Result>( d.vkGetDeviceGroupSurfacePresentModesKHR( m_device, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR*>( &modes ) ) );
35070  return createResultValue( result, modes, VULKAN_HPP_NAMESPACE_STRING"::Device::getGroupSurfacePresentModesKHR" );
35071  }
35072 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35073 
35074  template<typename Dispatch>
35075  VULKAN_HPP_INLINE Result Device::acquireNextImage2KHR( const AcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex, Dispatch const &d) const
35076  {
35077  return static_cast<Result>( d.vkAcquireNextImage2KHR( m_device, reinterpret_cast<const VkAcquireNextImageInfoKHR*>( pAcquireInfo ), pImageIndex ) );
35078  }
35079 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35080  template<typename Dispatch>
35082  {
35083  uint32_t imageIndex;
35084  Result result = static_cast<Result>( d.vkAcquireNextImage2KHR( m_device, reinterpret_cast<const VkAcquireNextImageInfoKHR*>( &acquireInfo ), &imageIndex ) );
35086  }
35087 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35088 
35089  template<typename Dispatch>
35090  VULKAN_HPP_INLINE Result Device::createDescriptorUpdateTemplate( const DescriptorUpdateTemplateCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, DescriptorUpdateTemplate* pDescriptorUpdateTemplate, Dispatch const &d) const
35091  {
35092  return static_cast<Result>( d.vkCreateDescriptorUpdateTemplate( m_device, reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDescriptorUpdateTemplate*>( pDescriptorUpdateTemplate ) ) );
35093  }
35094 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35095  template<typename Dispatch>
35097  {
35098  DescriptorUpdateTemplate descriptorUpdateTemplate;
35099  Result result = static_cast<Result>( d.vkCreateDescriptorUpdateTemplate( m_device, reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDescriptorUpdateTemplate*>( &descriptorUpdateTemplate ) ) );
35100  return createResultValue( result, descriptorUpdateTemplate, VULKAN_HPP_NAMESPACE_STRING"::Device::createDescriptorUpdateTemplate" );
35101  }
35102 #ifndef VULKAN_HPP_NO_SMART_HANDLE
35103  template<typename Dispatch>
35105  {
35106  DescriptorUpdateTemplate descriptorUpdateTemplate;
35107  Result result = static_cast<Result>( d.vkCreateDescriptorUpdateTemplate( m_device, reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDescriptorUpdateTemplate*>( &descriptorUpdateTemplate ) ) );
35108 
35109  ObjectDestroy<Device> deleter( *this, allocator );
35110  return createResultValue( result, descriptorUpdateTemplate, VULKAN_HPP_NAMESPACE_STRING"::Device::createDescriptorUpdateTemplateUnique", deleter );
35111  }
35112 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
35113 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35114 
35115  template<typename Dispatch>
35116  VULKAN_HPP_INLINE Result Device::createDescriptorUpdateTemplateKHR( const DescriptorUpdateTemplateCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, DescriptorUpdateTemplate* pDescriptorUpdateTemplate, Dispatch const &d) const
35117  {
35118  return static_cast<Result>( d.vkCreateDescriptorUpdateTemplateKHR( m_device, reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDescriptorUpdateTemplate*>( pDescriptorUpdateTemplate ) ) );
35119  }
35120 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35121  template<typename Dispatch>
35123  {
35124  DescriptorUpdateTemplate descriptorUpdateTemplate;
35125  Result result = static_cast<Result>( d.vkCreateDescriptorUpdateTemplateKHR( m_device, reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDescriptorUpdateTemplate*>( &descriptorUpdateTemplate ) ) );
35126  return createResultValue( result, descriptorUpdateTemplate, VULKAN_HPP_NAMESPACE_STRING"::Device::createDescriptorUpdateTemplateKHR" );
35127  }
35128 #ifndef VULKAN_HPP_NO_SMART_HANDLE
35129  template<typename Dispatch>
35131  {
35132  DescriptorUpdateTemplate descriptorUpdateTemplate;
35133  Result result = static_cast<Result>( d.vkCreateDescriptorUpdateTemplateKHR( m_device, reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDescriptorUpdateTemplate*>( &descriptorUpdateTemplate ) ) );
35134 
35135  ObjectDestroy<Device> deleter( *this, allocator );
35136  return createResultValue( result, descriptorUpdateTemplate, VULKAN_HPP_NAMESPACE_STRING"::Device::createDescriptorUpdateTemplateKHRUnique", deleter );
35137  }
35138 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
35139 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35140 
35141  template<typename Dispatch>
35142  VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, const AllocationCallbacks* pAllocator, Dispatch const &d) const
35143  {
35144  d.vkDestroyDescriptorUpdateTemplate( m_device, static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
35145  }
35146 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35147  template<typename Dispatch>
35149  {
35150  d.vkDestroyDescriptorUpdateTemplate( m_device, static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
35151  }
35152 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35153 
35154  template<typename Dispatch>
35155  VULKAN_HPP_INLINE void Device::destroy( DescriptorUpdateTemplate descriptorUpdateTemplate, const AllocationCallbacks* pAllocator, Dispatch const &d) const
35156  {
35157  d.vkDestroyDescriptorUpdateTemplate( m_device, static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
35158  }
35159 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35160  template<typename Dispatch>
35161  VULKAN_HPP_INLINE void Device::destroy( DescriptorUpdateTemplate descriptorUpdateTemplate, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
35162  {
35163  d.vkDestroyDescriptorUpdateTemplate( m_device, static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
35164  }
35165 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35166 
35167  template<typename Dispatch>
35168  VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, const AllocationCallbacks* pAllocator, Dispatch const &d) const
35169  {
35170  d.vkDestroyDescriptorUpdateTemplateKHR( m_device, static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
35171  }
35172 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35173  template<typename Dispatch>
35175  {
35176  d.vkDestroyDescriptorUpdateTemplateKHR( m_device, static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
35177  }
35178 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35179 
35180 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
35181  template<typename Dispatch>
35182  VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplate( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData, Dispatch const &d) const
35183  {
35184  d.vkUpdateDescriptorSetWithTemplate( m_device, static_cast<VkDescriptorSet>( descriptorSet ), static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), pData );
35185  }
35186 #else
35187  template<typename Dispatch>
35188  VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplate( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData, Dispatch const &d ) const
35189  {
35190  d.vkUpdateDescriptorSetWithTemplate( m_device, static_cast<VkDescriptorSet>( descriptorSet ), static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), pData );
35191  }
35192 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35193 
35194 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
35195  template<typename Dispatch>
35196  VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplateKHR( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData, Dispatch const &d) const
35197  {
35198  d.vkUpdateDescriptorSetWithTemplateKHR( m_device, static_cast<VkDescriptorSet>( descriptorSet ), static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), pData );
35199  }
35200 #else
35201  template<typename Dispatch>
35202  VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplateKHR( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData, Dispatch const &d ) const
35203  {
35204  d.vkUpdateDescriptorSetWithTemplateKHR( m_device, static_cast<VkDescriptorSet>( descriptorSet ), static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ), pData );
35205  }
35206 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35207 
35208  template<typename Dispatch>
35209  VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( uint32_t swapchainCount, const SwapchainKHR* pSwapchains, const HdrMetadataEXT* pMetadata, Dispatch const &d) const
35210  {
35211  d.vkSetHdrMetadataEXT( m_device, swapchainCount, reinterpret_cast<const VkSwapchainKHR*>( pSwapchains ), reinterpret_cast<const VkHdrMetadataEXT*>( pMetadata ) );
35212  }
35213 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35214  template<typename Dispatch>
35216  {
35217 #ifdef VULKAN_HPP_NO_EXCEPTIONS
35218  VULKAN_HPP_ASSERT( swapchains.size() == metadata.size() );
35219 #else
35220  if ( swapchains.size() != metadata.size() )
35221  {
35222  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::setHdrMetadataEXT: swapchains.size() != metadata.size()" );
35223  }
35224 #endif // VULKAN_HPP_NO_EXCEPTIONS
35225  d.vkSetHdrMetadataEXT( m_device, swapchains.size() , reinterpret_cast<const VkSwapchainKHR*>( swapchains.data() ), reinterpret_cast<const VkHdrMetadataEXT*>( metadata.data() ) );
35226  }
35227 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35228 
35229 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
35230  template<typename Dispatch>
35231  VULKAN_HPP_INLINE Result Device::getSwapchainStatusKHR( SwapchainKHR swapchain, Dispatch const &d) const
35232  {
35233  return static_cast<Result>( d.vkGetSwapchainStatusKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) );
35234  }
35235 #else
35236  template<typename Dispatch>
35238  {
35239  Result result = static_cast<Result>( d.vkGetSwapchainStatusKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ) ) );
35240  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::getSwapchainStatusKHR", { Result::eSuccess, Result::eSuboptimalKHR } );
35241  }
35242 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35243 
35244  template<typename Dispatch>
35245  VULKAN_HPP_INLINE Result Device::getRefreshCycleDurationGOOGLE( SwapchainKHR swapchain, RefreshCycleDurationGOOGLE* pDisplayTimingProperties, Dispatch const &d) const
35246  {
35247  return static_cast<Result>( d.vkGetRefreshCycleDurationGOOGLE( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<VkRefreshCycleDurationGOOGLE*>( pDisplayTimingProperties ) ) );
35248  }
35249 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35250  template<typename Dispatch>
35252  {
35253  RefreshCycleDurationGOOGLE displayTimingProperties;
35254  Result result = static_cast<Result>( d.vkGetRefreshCycleDurationGOOGLE( m_device, static_cast<VkSwapchainKHR>( swapchain ), reinterpret_cast<VkRefreshCycleDurationGOOGLE*>( &displayTimingProperties ) ) );
35255  return createResultValue( result, displayTimingProperties, VULKAN_HPP_NAMESPACE_STRING"::Device::getRefreshCycleDurationGOOGLE" );
35256  }
35257 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35258 
35259  template<typename Dispatch>
35260  VULKAN_HPP_INLINE Result Device::getPastPresentationTimingGOOGLE( SwapchainKHR swapchain, uint32_t* pPresentationTimingCount, PastPresentationTimingGOOGLE* pPresentationTimings, Dispatch const &d) const
35261  {
35262  return static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE( m_device, static_cast<VkSwapchainKHR>( swapchain ), pPresentationTimingCount, reinterpret_cast<VkPastPresentationTimingGOOGLE*>( pPresentationTimings ) ) );
35263  }
35264 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35265  template <typename Allocator, typename Dispatch>
35267  {
35268  std::vector<PastPresentationTimingGOOGLE,Allocator> presentationTimings;
35269  uint32_t presentationTimingCount;
35270  Result result;
35271  do
35272  {
35273  result = static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE( m_device, static_cast<VkSwapchainKHR>( swapchain ), &presentationTimingCount, nullptr ) );
35274  if ( ( result == Result::eSuccess ) && presentationTimingCount )
35275  {
35276  presentationTimings.resize( presentationTimingCount );
35277  result = static_cast<Result>( d.vkGetPastPresentationTimingGOOGLE( m_device, static_cast<VkSwapchainKHR>( swapchain ), &presentationTimingCount, reinterpret_cast<VkPastPresentationTimingGOOGLE*>( presentationTimings.data() ) ) );
35278  }
35279  } while ( result == Result::eIncomplete );
35280  VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() );
35281  presentationTimings.resize( presentationTimingCount );
35282  return createResultValue( result, presentationTimings, VULKAN_HPP_NAMESPACE_STRING"::Device::getPastPresentationTimingGOOGLE" );
35283  }
35284 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35285 
35286  template<typename Dispatch>
35287  VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements2( const BufferMemoryRequirementsInfo2* pInfo, MemoryRequirements2* pMemoryRequirements, Dispatch const &d) const
35288  {
35289  d.vkGetBufferMemoryRequirements2( m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2*>( pInfo ), reinterpret_cast<VkMemoryRequirements2*>( pMemoryRequirements ) );
35290  }
35291 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35292  template<typename Dispatch>
35294  {
35295  MemoryRequirements2 memoryRequirements;
35296  d.vkGetBufferMemoryRequirements2( m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2*>( &info ), reinterpret_cast<VkMemoryRequirements2*>( &memoryRequirements ) );
35297  return memoryRequirements;
35298  }
35299  template <typename ...T, typename Dispatch>
35301  {
35302  StructureChain<T...> structureChain;
35303  MemoryRequirements2& memoryRequirements = structureChain.template get<MemoryRequirements2>();
35304  d.vkGetBufferMemoryRequirements2( m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2*>( &info ), reinterpret_cast<VkMemoryRequirements2*>( &memoryRequirements ) );
35305  return structureChain;
35306  }
35307 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35308 
35309  template<typename Dispatch>
35310  VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements2KHR( const BufferMemoryRequirementsInfo2* pInfo, MemoryRequirements2* pMemoryRequirements, Dispatch const &d) const
35311  {
35312  d.vkGetBufferMemoryRequirements2KHR( m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2*>( pInfo ), reinterpret_cast<VkMemoryRequirements2*>( pMemoryRequirements ) );
35313  }
35314 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35315  template<typename Dispatch>
35317  {
35318  MemoryRequirements2 memoryRequirements;
35319  d.vkGetBufferMemoryRequirements2KHR( m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2*>( &info ), reinterpret_cast<VkMemoryRequirements2*>( &memoryRequirements ) );
35320  return memoryRequirements;
35321  }
35322  template <typename ...T, typename Dispatch>
35324  {
35325  StructureChain<T...> structureChain;
35326  MemoryRequirements2& memoryRequirements = structureChain.template get<MemoryRequirements2>();
35327  d.vkGetBufferMemoryRequirements2KHR( m_device, reinterpret_cast<const VkBufferMemoryRequirementsInfo2*>( &info ), reinterpret_cast<VkMemoryRequirements2*>( &memoryRequirements ) );
35328  return structureChain;
35329  }
35330 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35331 
35332  template<typename Dispatch>
35333  VULKAN_HPP_INLINE void Device::getImageMemoryRequirements2( const ImageMemoryRequirementsInfo2* pInfo, MemoryRequirements2* pMemoryRequirements, Dispatch const &d) const
35334  {
35335  d.vkGetImageMemoryRequirements2( m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2*>( pInfo ), reinterpret_cast<VkMemoryRequirements2*>( pMemoryRequirements ) );
35336  }
35337 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35338  template<typename Dispatch>
35340  {
35341  MemoryRequirements2 memoryRequirements;
35342  d.vkGetImageMemoryRequirements2( m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2*>( &info ), reinterpret_cast<VkMemoryRequirements2*>( &memoryRequirements ) );
35343  return memoryRequirements;
35344  }
35345  template <typename ...T, typename Dispatch>
35347  {
35348  StructureChain<T...> structureChain;
35349  MemoryRequirements2& memoryRequirements = structureChain.template get<MemoryRequirements2>();
35350  d.vkGetImageMemoryRequirements2( m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2*>( &info ), reinterpret_cast<VkMemoryRequirements2*>( &memoryRequirements ) );
35351  return structureChain;
35352  }
35353 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35354 
35355  template<typename Dispatch>
35356  VULKAN_HPP_INLINE void Device::getImageMemoryRequirements2KHR( const ImageMemoryRequirementsInfo2* pInfo, MemoryRequirements2* pMemoryRequirements, Dispatch const &d) const
35357  {
35358  d.vkGetImageMemoryRequirements2KHR( m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2*>( pInfo ), reinterpret_cast<VkMemoryRequirements2*>( pMemoryRequirements ) );
35359  }
35360 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35361  template<typename Dispatch>
35363  {
35364  MemoryRequirements2 memoryRequirements;
35365  d.vkGetImageMemoryRequirements2KHR( m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2*>( &info ), reinterpret_cast<VkMemoryRequirements2*>( &memoryRequirements ) );
35366  return memoryRequirements;
35367  }
35368  template <typename ...T, typename Dispatch>
35370  {
35371  StructureChain<T...> structureChain;
35372  MemoryRequirements2& memoryRequirements = structureChain.template get<MemoryRequirements2>();
35373  d.vkGetImageMemoryRequirements2KHR( m_device, reinterpret_cast<const VkImageMemoryRequirementsInfo2*>( &info ), reinterpret_cast<VkMemoryRequirements2*>( &memoryRequirements ) );
35374  return structureChain;
35375  }
35376 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35377 
35378  template<typename Dispatch>
35379  VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, SparseImageMemoryRequirements2* pSparseMemoryRequirements, Dispatch const &d) const
35380  {
35381  d.vkGetImageSparseMemoryRequirements2( m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2*>( pInfo ), pSparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2*>( pSparseMemoryRequirements ) );
35382  }
35383 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35384  template <typename Allocator, typename Dispatch>
35385  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2,Allocator> Device::getImageSparseMemoryRequirements2( const ImageSparseMemoryRequirementsInfo2 & info, Dispatch const &d ) const
35386  {
35387  std::vector<SparseImageMemoryRequirements2,Allocator> sparseMemoryRequirements;
35388  uint32_t sparseMemoryRequirementCount;
35389  d.vkGetImageSparseMemoryRequirements2( m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2*>( &info ), &sparseMemoryRequirementCount, nullptr );
35390  sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
35391  d.vkGetImageSparseMemoryRequirements2( m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2*>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2*>( sparseMemoryRequirements.data() ) );
35392  return sparseMemoryRequirements;
35393  }
35394 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35395 
35396  template<typename Dispatch>
35397  VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, SparseImageMemoryRequirements2* pSparseMemoryRequirements, Dispatch const &d) const
35398  {
35399  d.vkGetImageSparseMemoryRequirements2KHR( m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2*>( pInfo ), pSparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2*>( pSparseMemoryRequirements ) );
35400  }
35401 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35402  template <typename Allocator, typename Dispatch>
35403  VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2,Allocator> Device::getImageSparseMemoryRequirements2KHR( const ImageSparseMemoryRequirementsInfo2 & info, Dispatch const &d ) const
35404  {
35405  std::vector<SparseImageMemoryRequirements2,Allocator> sparseMemoryRequirements;
35406  uint32_t sparseMemoryRequirementCount;
35407  d.vkGetImageSparseMemoryRequirements2KHR( m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2*>( &info ), &sparseMemoryRequirementCount, nullptr );
35408  sparseMemoryRequirements.resize( sparseMemoryRequirementCount );
35409  d.vkGetImageSparseMemoryRequirements2KHR( m_device, reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2*>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2*>( sparseMemoryRequirements.data() ) );
35410  return sparseMemoryRequirements;
35411  }
35412 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35413 
35414  template<typename Dispatch>
35415  VULKAN_HPP_INLINE Result Device::createSamplerYcbcrConversion( const SamplerYcbcrConversionCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, SamplerYcbcrConversion* pYcbcrConversion, Dispatch const &d) const
35416  {
35417  return static_cast<Result>( d.vkCreateSamplerYcbcrConversion( m_device, reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSamplerYcbcrConversion*>( pYcbcrConversion ) ) );
35418  }
35419 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35420  template<typename Dispatch>
35422  {
35423  SamplerYcbcrConversion ycbcrConversion;
35424  Result result = static_cast<Result>( d.vkCreateSamplerYcbcrConversion( m_device, reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSamplerYcbcrConversion*>( &ycbcrConversion ) ) );
35425  return createResultValue( result, ycbcrConversion, VULKAN_HPP_NAMESPACE_STRING"::Device::createSamplerYcbcrConversion" );
35426  }
35427 #ifndef VULKAN_HPP_NO_SMART_HANDLE
35428  template<typename Dispatch>
35430  {
35431  SamplerYcbcrConversion ycbcrConversion;
35432  Result result = static_cast<Result>( d.vkCreateSamplerYcbcrConversion( m_device, reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSamplerYcbcrConversion*>( &ycbcrConversion ) ) );
35433 
35434  ObjectDestroy<Device> deleter( *this, allocator );
35435  return createResultValue( result, ycbcrConversion, VULKAN_HPP_NAMESPACE_STRING"::Device::createSamplerYcbcrConversionUnique", deleter );
35436  }
35437 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
35438 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35439 
35440  template<typename Dispatch>
35442  {
35443  return static_cast<Result>( d.vkCreateSamplerYcbcrConversionKHR( m_device, reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSamplerYcbcrConversion*>( pYcbcrConversion ) ) );
35444  }
35445 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35446  template<typename Dispatch>
35448  {
35449  SamplerYcbcrConversion ycbcrConversion;
35450  Result result = static_cast<Result>( d.vkCreateSamplerYcbcrConversionKHR( m_device, reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSamplerYcbcrConversion*>( &ycbcrConversion ) ) );
35451  return createResultValue( result, ycbcrConversion, VULKAN_HPP_NAMESPACE_STRING"::Device::createSamplerYcbcrConversionKHR" );
35452  }
35453 #ifndef VULKAN_HPP_NO_SMART_HANDLE
35454  template<typename Dispatch>
35456  {
35457  SamplerYcbcrConversion ycbcrConversion;
35458  Result result = static_cast<Result>( d.vkCreateSamplerYcbcrConversionKHR( m_device, reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSamplerYcbcrConversion*>( &ycbcrConversion ) ) );
35459 
35460  ObjectDestroy<Device> deleter( *this, allocator );
35461  return createResultValue( result, ycbcrConversion, VULKAN_HPP_NAMESPACE_STRING"::Device::createSamplerYcbcrConversionKHRUnique", deleter );
35462  }
35463 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
35464 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35465 
35466  template<typename Dispatch>
35467  VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversion( SamplerYcbcrConversion ycbcrConversion, const AllocationCallbacks* pAllocator, Dispatch const &d) const
35468  {
35469  d.vkDestroySamplerYcbcrConversion( m_device, static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
35470  }
35471 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35472  template<typename Dispatch>
35474  {
35475  d.vkDestroySamplerYcbcrConversion( m_device, static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
35476  }
35477 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35478 
35479  template<typename Dispatch>
35480  VULKAN_HPP_INLINE void Device::destroy( SamplerYcbcrConversion ycbcrConversion, const AllocationCallbacks* pAllocator, Dispatch const &d) const
35481  {
35482  d.vkDestroySamplerYcbcrConversion( m_device, static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
35483  }
35484 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35485  template<typename Dispatch>
35486  VULKAN_HPP_INLINE void Device::destroy( SamplerYcbcrConversion ycbcrConversion, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
35487  {
35488  d.vkDestroySamplerYcbcrConversion( m_device, static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
35489  }
35490 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35491 
35492  template<typename Dispatch>
35493  VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR( SamplerYcbcrConversion ycbcrConversion, const AllocationCallbacks* pAllocator, Dispatch const &d) const
35494  {
35495  d.vkDestroySamplerYcbcrConversionKHR( m_device, static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
35496  }
35497 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35498  template<typename Dispatch>
35500  {
35501  d.vkDestroySamplerYcbcrConversionKHR( m_device, static_cast<VkSamplerYcbcrConversion>( ycbcrConversion ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
35502  }
35503 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35504 
35505  template<typename Dispatch>
35506  VULKAN_HPP_INLINE void Device::getQueue2( const DeviceQueueInfo2* pQueueInfo, Queue* pQueue, Dispatch const &d) const
35507  {
35508  d.vkGetDeviceQueue2( m_device, reinterpret_cast<const VkDeviceQueueInfo2*>( pQueueInfo ), reinterpret_cast<VkQueue*>( pQueue ) );
35509  }
35510 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35511  template<typename Dispatch>
35512  VULKAN_HPP_INLINE Queue Device::getQueue2( const DeviceQueueInfo2 & queueInfo, Dispatch const &d ) const
35513  {
35514  Queue queue;
35515  d.vkGetDeviceQueue2( m_device, reinterpret_cast<const VkDeviceQueueInfo2*>( &queueInfo ), reinterpret_cast<VkQueue*>( &queue ) );
35516  return queue;
35517  }
35518 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35519 
35520  template<typename Dispatch>
35521  VULKAN_HPP_INLINE Result Device::createValidationCacheEXT( const ValidationCacheCreateInfoEXT* pCreateInfo, const AllocationCallbacks* pAllocator, ValidationCacheEXT* pValidationCache, Dispatch const &d) const
35522  {
35523  return static_cast<Result>( d.vkCreateValidationCacheEXT( m_device, reinterpret_cast<const VkValidationCacheCreateInfoEXT*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkValidationCacheEXT*>( pValidationCache ) ) );
35524  }
35525 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35526  template<typename Dispatch>
35528  {
35529  ValidationCacheEXT validationCache;
35530  Result result = static_cast<Result>( d.vkCreateValidationCacheEXT( m_device, reinterpret_cast<const VkValidationCacheCreateInfoEXT*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkValidationCacheEXT*>( &validationCache ) ) );
35531  return createResultValue( result, validationCache, VULKAN_HPP_NAMESPACE_STRING"::Device::createValidationCacheEXT" );
35532  }
35533 #ifndef VULKAN_HPP_NO_SMART_HANDLE
35534  template<typename Dispatch>
35536  {
35537  ValidationCacheEXT validationCache;
35538  Result result = static_cast<Result>( d.vkCreateValidationCacheEXT( m_device, reinterpret_cast<const VkValidationCacheCreateInfoEXT*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkValidationCacheEXT*>( &validationCache ) ) );
35539 
35540  ObjectDestroy<Device> deleter( *this, allocator );
35541  return createResultValue( result, validationCache, VULKAN_HPP_NAMESPACE_STRING"::Device::createValidationCacheEXTUnique", deleter );
35542  }
35543 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
35544 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35545 
35546  template<typename Dispatch>
35547  VULKAN_HPP_INLINE void Device::destroyValidationCacheEXT( ValidationCacheEXT validationCache, const AllocationCallbacks* pAllocator, Dispatch const &d) const
35548  {
35549  d.vkDestroyValidationCacheEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
35550  }
35551 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35552  template<typename Dispatch>
35554  {
35555  d.vkDestroyValidationCacheEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
35556  }
35557 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35558 
35559  template<typename Dispatch>
35560  VULKAN_HPP_INLINE void Device::destroy( ValidationCacheEXT validationCache, const AllocationCallbacks* pAllocator, Dispatch const &d) const
35561  {
35562  d.vkDestroyValidationCacheEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
35563  }
35564 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35565  template<typename Dispatch>
35566  VULKAN_HPP_INLINE void Device::destroy( ValidationCacheEXT validationCache, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
35567  {
35568  d.vkDestroyValidationCacheEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
35569  }
35570 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35571 
35572  template<typename Dispatch>
35573  VULKAN_HPP_INLINE Result Device::getValidationCacheDataEXT( ValidationCacheEXT validationCache, size_t* pDataSize, void* pData, Dispatch const &d) const
35574  {
35575  return static_cast<Result>( d.vkGetValidationCacheDataEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), pDataSize, pData ) );
35576  }
35577 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35578  template <typename Allocator, typename Dispatch>
35580  {
35581  std::vector<uint8_t,Allocator> data;
35582  size_t dataSize;
35583  Result result;
35584  do
35585  {
35586  result = static_cast<Result>( d.vkGetValidationCacheDataEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), &dataSize, nullptr ) );
35587  if ( ( result == Result::eSuccess ) && dataSize )
35588  {
35589  data.resize( dataSize );
35590  result = static_cast<Result>( d.vkGetValidationCacheDataEXT( m_device, static_cast<VkValidationCacheEXT>( validationCache ), &dataSize, reinterpret_cast<void*>( data.data() ) ) );
35591  }
35592  } while ( result == Result::eIncomplete );
35593  VULKAN_HPP_ASSERT( dataSize <= data.size() );
35594  data.resize( dataSize );
35595  return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING"::Device::getValidationCacheDataEXT" );
35596  }
35597 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35598 
35599  template<typename Dispatch>
35600  VULKAN_HPP_INLINE Result Device::mergeValidationCachesEXT( ValidationCacheEXT dstCache, uint32_t srcCacheCount, const ValidationCacheEXT* pSrcCaches, Dispatch const &d) const
35601  {
35602  return static_cast<Result>( d.vkMergeValidationCachesEXT( m_device, static_cast<VkValidationCacheEXT>( dstCache ), srcCacheCount, reinterpret_cast<const VkValidationCacheEXT*>( pSrcCaches ) ) );
35603  }
35604 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35605  template<typename Dispatch>
35607  {
35608  Result result = static_cast<Result>( d.vkMergeValidationCachesEXT( m_device, static_cast<VkValidationCacheEXT>( dstCache ), srcCaches.size() , reinterpret_cast<const VkValidationCacheEXT*>( srcCaches.data() ) ) );
35609  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::mergeValidationCachesEXT" );
35610  }
35611 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35612 
35613  template<typename Dispatch>
35615  {
35616  d.vkGetDescriptorSetLayoutSupport( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( pCreateInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport*>( pSupport ) );
35617  }
35618 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35619  template<typename Dispatch>
35621  {
35623  d.vkGetDescriptorSetLayoutSupport( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( &createInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport*>( &support ) );
35624  return support;
35625  }
35626  template <typename ...T, typename Dispatch>
35628  {
35629  StructureChain<T...> structureChain;
35630  DescriptorSetLayoutSupport& support = structureChain.template get<DescriptorSetLayoutSupport>();
35631  d.vkGetDescriptorSetLayoutSupport( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( &createInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport*>( &support ) );
35632  return structureChain;
35633  }
35634 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35635 
35636  template<typename Dispatch>
35638  {
35639  d.vkGetDescriptorSetLayoutSupportKHR( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( pCreateInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport*>( pSupport ) );
35640  }
35641 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35642  template<typename Dispatch>
35644  {
35646  d.vkGetDescriptorSetLayoutSupportKHR( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( &createInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport*>( &support ) );
35647  return support;
35648  }
35649  template <typename ...T, typename Dispatch>
35651  {
35652  StructureChain<T...> structureChain;
35653  DescriptorSetLayoutSupport& support = structureChain.template get<DescriptorSetLayoutSupport>();
35654  d.vkGetDescriptorSetLayoutSupportKHR( m_device, reinterpret_cast<const VkDescriptorSetLayoutCreateInfo*>( &createInfo ), reinterpret_cast<VkDescriptorSetLayoutSupport*>( &support ) );
35655  return structureChain;
35656  }
35657 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35658 
35659  template<typename Dispatch>
35660  VULKAN_HPP_INLINE Result Device::getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo, Dispatch const &d) const
35661  {
35662  return static_cast<Result>( d.vkGetShaderInfoAMD( m_device, static_cast<VkPipeline>( pipeline ), static_cast<VkShaderStageFlagBits>( shaderStage ), static_cast<VkShaderInfoTypeAMD>( infoType ), pInfoSize, pInfo ) );
35663  }
35664 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35665  template <typename Allocator, typename Dispatch>
35667  {
35668  std::vector<uint8_t,Allocator> info;
35669  size_t infoSize;
35670  Result result;
35671  do
35672  {
35673  result = static_cast<Result>( d.vkGetShaderInfoAMD( m_device, static_cast<VkPipeline>( pipeline ), static_cast<VkShaderStageFlagBits>( shaderStage ), static_cast<VkShaderInfoTypeAMD>( infoType ), &infoSize, nullptr ) );
35674  if ( ( result == Result::eSuccess ) && infoSize )
35675  {
35676  info.resize( infoSize );
35677  result = static_cast<Result>( d.vkGetShaderInfoAMD( m_device, static_cast<VkPipeline>( pipeline ), static_cast<VkShaderStageFlagBits>( shaderStage ), static_cast<VkShaderInfoTypeAMD>( infoType ), &infoSize, reinterpret_cast<void*>( info.data() ) ) );
35678  }
35679  } while ( result == Result::eIncomplete );
35680  VULKAN_HPP_ASSERT( infoSize <= info.size() );
35681  info.resize( infoSize );
35682  return createResultValue( result, info, VULKAN_HPP_NAMESPACE_STRING"::Device::getShaderInfoAMD" );
35683  }
35684 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35685 
35686  template<typename Dispatch>
35688  {
35689  return static_cast<Result>( d.vkSetDebugUtilsObjectNameEXT( m_device, reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>( pNameInfo ) ) );
35690  }
35691 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35692  template<typename Dispatch>
35694  {
35695  Result result = static_cast<Result>( d.vkSetDebugUtilsObjectNameEXT( m_device, reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>( &nameInfo ) ) );
35696  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::setDebugUtilsObjectNameEXT" );
35697  }
35698 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35699 
35700  template<typename Dispatch>
35702  {
35703  return static_cast<Result>( d.vkSetDebugUtilsObjectTagEXT( m_device, reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT*>( pTagInfo ) ) );
35704  }
35705 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35706  template<typename Dispatch>
35708  {
35709  Result result = static_cast<Result>( d.vkSetDebugUtilsObjectTagEXT( m_device, reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT*>( &tagInfo ) ) );
35710  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::Device::setDebugUtilsObjectTagEXT" );
35711  }
35712 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35713 
35714  template<typename Dispatch>
35715  VULKAN_HPP_INLINE Result Device::getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, MemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties, Dispatch const &d) const
35716  {
35717  return static_cast<Result>( d.vkGetMemoryHostPointerPropertiesEXT( m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), pHostPointer, reinterpret_cast<VkMemoryHostPointerPropertiesEXT*>( pMemoryHostPointerProperties ) ) );
35718  }
35719 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35720  template<typename Dispatch>
35722  {
35723  MemoryHostPointerPropertiesEXT memoryHostPointerProperties;
35724  Result result = static_cast<Result>( d.vkGetMemoryHostPointerPropertiesEXT( m_device, static_cast<VkExternalMemoryHandleTypeFlagBits>( handleType ), pHostPointer, reinterpret_cast<VkMemoryHostPointerPropertiesEXT*>( &memoryHostPointerProperties ) ) );
35725  return createResultValue( result, memoryHostPointerProperties, VULKAN_HPP_NAMESPACE_STRING"::Device::getMemoryHostPointerPropertiesEXT" );
35726  }
35727 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35728 
35729 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
35730  template<typename Dispatch>
35731  VULKAN_HPP_INLINE Result Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer* buffer, AndroidHardwareBufferPropertiesANDROID* pProperties, Dispatch const &d) const
35732  {
35733  return static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID*>( pProperties ) ) );
35734  }
35735 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35736  template<typename Dispatch>
35737  VULKAN_HPP_INLINE ResultValueType<AndroidHardwareBufferPropertiesANDROID>::type Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const &d ) const
35738  {
35739  AndroidHardwareBufferPropertiesANDROID properties;
35740  Result result = static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID*>( &properties ) ) );
35741  return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::Device::getAndroidHardwareBufferPropertiesANDROID" );
35742  }
35743  template <typename ...T, typename Dispatch>
35744  VULKAN_HPP_INLINE typename ResultValueType<StructureChain<T...>>::type Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const &d ) const
35745  {
35746  StructureChain<T...> structureChain;
35747  AndroidHardwareBufferPropertiesANDROID& properties = structureChain.template get<AndroidHardwareBufferPropertiesANDROID>();
35748  Result result = static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID*>( &properties ) ) );
35749  return createResultValue( result, structureChain, VULKAN_HPP_NAMESPACE_STRING"::Device::getAndroidHardwareBufferPropertiesANDROID" );
35750  }
35751 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35752 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
35753 
35754 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
35755  template<typename Dispatch>
35756  VULKAN_HPP_INLINE Result Device::getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer, Dispatch const &d) const
35757  {
35758  return static_cast<Result>( d.vkGetMemoryAndroidHardwareBufferANDROID( m_device, reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID*>( pInfo ), pBuffer ) );
35759  }
35760 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35761  template<typename Dispatch>
35762  VULKAN_HPP_INLINE ResultValueType<struct AHardwareBuffer*>::type Device::getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info, Dispatch const &d ) const
35763  {
35764  struct AHardwareBuffer* buffer;
35765  Result result = static_cast<Result>( d.vkGetMemoryAndroidHardwareBufferANDROID( m_device, reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID*>( &info ), &buffer ) );
35766  return createResultValue( result, buffer, VULKAN_HPP_NAMESPACE_STRING"::Device::getMemoryAndroidHardwareBufferANDROID" );
35767  }
35768 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35769 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
35770 
35771 #ifndef VULKAN_HPP_NO_SMART_HANDLE
35772 
35773  template <> class UniqueHandleTraits<Device> {public: using deleter = ObjectDestroy<NoParent>; };
35775 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
35776 
35778  {
35779  public:
35782  {}
35783 
35786  {}
35787 
35788  VULKAN_HPP_TYPESAFE_EXPLICIT PhysicalDevice( VkPhysicalDevice physicalDevice )
35789  : m_physicalDevice( physicalDevice )
35790  {}
35791 
35792 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
35793  PhysicalDevice & operator=(VkPhysicalDevice physicalDevice)
35794  {
35795  m_physicalDevice = physicalDevice;
35796  return *this;
35797  }
35798 #endif
35799 
35800  PhysicalDevice & operator=( std::nullptr_t )
35801  {
35803  return *this;
35804  }
35805 
35806  bool operator==( PhysicalDevice const & rhs ) const
35807  {
35808  return m_physicalDevice == rhs.m_physicalDevice;
35809  }
35810 
35811  bool operator!=(PhysicalDevice const & rhs ) const
35812  {
35813  return m_physicalDevice != rhs.m_physicalDevice;
35814  }
35815 
35816  bool operator<(PhysicalDevice const & rhs ) const
35817  {
35818  return m_physicalDevice < rhs.m_physicalDevice;
35819  }
35820 
35821  template<typename Dispatch = DispatchLoaderStatic>
35822  void getProperties( PhysicalDeviceProperties* pProperties, Dispatch const &d = Dispatch() ) const;
35823 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35824  template<typename Dispatch = DispatchLoaderStatic>
35825  PhysicalDeviceProperties getProperties(Dispatch const &d = Dispatch() ) const;
35826 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35827 
35828  template<typename Dispatch = DispatchLoaderStatic>
35829  void getQueueFamilyProperties( uint32_t* pQueueFamilyPropertyCount, QueueFamilyProperties* pQueueFamilyProperties, Dispatch const &d = Dispatch() ) const;
35830 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35831  template <typename Allocator = std::allocator<QueueFamilyProperties>, typename Dispatch = DispatchLoaderStatic>
35832  std::vector<QueueFamilyProperties,Allocator> getQueueFamilyProperties(Dispatch const &d = Dispatch() ) const;
35833 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35834 
35835  template<typename Dispatch = DispatchLoaderStatic>
35836  void getMemoryProperties( PhysicalDeviceMemoryProperties* pMemoryProperties, Dispatch const &d = Dispatch() ) const;
35837 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35838  template<typename Dispatch = DispatchLoaderStatic>
35839  PhysicalDeviceMemoryProperties getMemoryProperties(Dispatch const &d = Dispatch() ) const;
35840 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35841 
35842  template<typename Dispatch = DispatchLoaderStatic>
35843  void getFeatures( PhysicalDeviceFeatures* pFeatures, Dispatch const &d = Dispatch() ) const;
35844 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35845  template<typename Dispatch = DispatchLoaderStatic>
35846  PhysicalDeviceFeatures getFeatures(Dispatch const &d = Dispatch() ) const;
35847 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35848 
35849  template<typename Dispatch = DispatchLoaderStatic>
35850  void getFormatProperties( Format format, FormatProperties* pFormatProperties, Dispatch const &d = Dispatch() ) const;
35851 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35852  template<typename Dispatch = DispatchLoaderStatic>
35853  FormatProperties getFormatProperties( Format format, Dispatch const &d = Dispatch() ) const;
35854 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35855 
35856  template<typename Dispatch = DispatchLoaderStatic>
35857  Result getImageFormatProperties( Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags, ImageFormatProperties* pImageFormatProperties, Dispatch const &d = Dispatch() ) const;
35858 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35859  template<typename Dispatch = DispatchLoaderStatic>
35861 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35862 
35863  template<typename Dispatch = DispatchLoaderStatic>
35864  Result createDevice( const DeviceCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Device* pDevice, Dispatch const &d = Dispatch() ) const;
35865 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35866  template<typename Dispatch = DispatchLoaderStatic>
35867  ResultValueType<Device>::type createDevice( const DeviceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
35868 #ifndef VULKAN_HPP_NO_SMART_HANDLE
35869  template<typename Dispatch = DispatchLoaderStatic>
35870  ResultValueType<UniqueDevice>::type createDeviceUnique( const DeviceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
35871 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
35872 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35873 
35874  template<typename Dispatch = DispatchLoaderStatic>
35875  Result enumerateDeviceLayerProperties( uint32_t* pPropertyCount, LayerProperties* pProperties, Dispatch const &d = Dispatch() ) const;
35876 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35877  template <typename Allocator = std::allocator<LayerProperties>, typename Dispatch = DispatchLoaderStatic>
35879 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35880 
35881  template<typename Dispatch = DispatchLoaderStatic>
35882  Result enumerateDeviceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, ExtensionProperties* pProperties, Dispatch const &d = Dispatch() ) const;
35883 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35884  template <typename Allocator = std::allocator<ExtensionProperties>, typename Dispatch = DispatchLoaderStatic>
35886 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35887 
35888  template<typename Dispatch = DispatchLoaderStatic>
35889  void getSparseImageFormatProperties( Format format, ImageType type, SampleCountFlagBits samples, ImageUsageFlags usage, ImageTiling tiling, uint32_t* pPropertyCount, SparseImageFormatProperties* pProperties, Dispatch const &d = Dispatch() ) const;
35890 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35891  template <typename Allocator = std::allocator<SparseImageFormatProperties>, typename Dispatch = DispatchLoaderStatic>
35892  std::vector<SparseImageFormatProperties,Allocator> getSparseImageFormatProperties( Format format, ImageType type, SampleCountFlagBits samples, ImageUsageFlags usage, ImageTiling tiling, Dispatch const &d = Dispatch() ) const;
35893 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35894 
35895  template<typename Dispatch = DispatchLoaderStatic>
35896  Result getDisplayPropertiesKHR( uint32_t* pPropertyCount, DisplayPropertiesKHR* pProperties, Dispatch const &d = Dispatch() ) const;
35897 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35898  template <typename Allocator = std::allocator<DisplayPropertiesKHR>, typename Dispatch = DispatchLoaderStatic>
35899  typename ResultValueType<std::vector<DisplayPropertiesKHR,Allocator>>::type getDisplayPropertiesKHR(Dispatch const &d = Dispatch() ) const;
35900 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35901 
35902  template<typename Dispatch = DispatchLoaderStatic>
35903  Result getDisplayPlanePropertiesKHR( uint32_t* pPropertyCount, DisplayPlanePropertiesKHR* pProperties, Dispatch const &d = Dispatch() ) const;
35904 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35905  template <typename Allocator = std::allocator<DisplayPlanePropertiesKHR>, typename Dispatch = DispatchLoaderStatic>
35907 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35908 
35909  template<typename Dispatch = DispatchLoaderStatic>
35910  Result getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, uint32_t* pDisplayCount, DisplayKHR* pDisplays, Dispatch const &d = Dispatch() ) const;
35911 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35912  template <typename Allocator = std::allocator<DisplayKHR>, typename Dispatch = DispatchLoaderStatic>
35913  typename ResultValueType<std::vector<DisplayKHR,Allocator>>::type getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, Dispatch const &d = Dispatch() ) const;
35914 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35915 
35916  template<typename Dispatch = DispatchLoaderStatic>
35917  Result getDisplayModePropertiesKHR( DisplayKHR display, uint32_t* pPropertyCount, DisplayModePropertiesKHR* pProperties, Dispatch const &d = Dispatch() ) const;
35918 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35919  template <typename Allocator = std::allocator<DisplayModePropertiesKHR>, typename Dispatch = DispatchLoaderStatic>
35921 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35922 
35923  template<typename Dispatch = DispatchLoaderStatic>
35924  Result createDisplayModeKHR( DisplayKHR display, const DisplayModeCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, DisplayModeKHR* pMode, Dispatch const &d = Dispatch() ) const;
35925 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35926  template<typename Dispatch = DispatchLoaderStatic>
35927  ResultValueType<DisplayModeKHR>::type createDisplayModeKHR( DisplayKHR display, const DisplayModeCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
35928 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35929 
35930  template<typename Dispatch = DispatchLoaderStatic>
35931  Result getDisplayPlaneCapabilitiesKHR( DisplayModeKHR mode, uint32_t planeIndex, DisplayPlaneCapabilitiesKHR* pCapabilities, Dispatch const &d = Dispatch() ) const;
35932 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35933  template<typename Dispatch = DispatchLoaderStatic>
35935 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35936 
35937 #ifdef VK_USE_PLATFORM_MIR_KHR
35938  template<typename Dispatch = DispatchLoaderStatic>
35939  Bool32 getMirPresentationSupportKHR( uint32_t queueFamilyIndex, MirConnection* connection, Dispatch const &d = Dispatch() ) const;
35940 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35941  template<typename Dispatch = DispatchLoaderStatic>
35942  Bool32 getMirPresentationSupportKHR( uint32_t queueFamilyIndex, MirConnection & connection, Dispatch const &d = Dispatch() ) const;
35943 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35944 #endif /*VK_USE_PLATFORM_MIR_KHR*/
35945 
35946  template<typename Dispatch = DispatchLoaderStatic>
35947  Result getSurfaceSupportKHR( uint32_t queueFamilyIndex, SurfaceKHR surface, Bool32* pSupported, Dispatch const &d = Dispatch() ) const;
35948 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35949  template<typename Dispatch = DispatchLoaderStatic>
35950  ResultValueType<Bool32>::type getSurfaceSupportKHR( uint32_t queueFamilyIndex, SurfaceKHR surface, Dispatch const &d = Dispatch() ) const;
35951 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35952 
35953  template<typename Dispatch = DispatchLoaderStatic>
35954  Result getSurfaceCapabilitiesKHR( SurfaceKHR surface, SurfaceCapabilitiesKHR* pSurfaceCapabilities, Dispatch const &d = Dispatch() ) const;
35955 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35956  template<typename Dispatch = DispatchLoaderStatic>
35957  ResultValueType<SurfaceCapabilitiesKHR>::type getSurfaceCapabilitiesKHR( SurfaceKHR surface, Dispatch const &d = Dispatch() ) const;
35958 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35959 
35960  template<typename Dispatch = DispatchLoaderStatic>
35961  Result getSurfaceFormatsKHR( SurfaceKHR surface, uint32_t* pSurfaceFormatCount, SurfaceFormatKHR* pSurfaceFormats, Dispatch const &d = Dispatch() ) const;
35962 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35963  template <typename Allocator = std::allocator<SurfaceFormatKHR>, typename Dispatch = DispatchLoaderStatic>
35964  typename ResultValueType<std::vector<SurfaceFormatKHR,Allocator>>::type getSurfaceFormatsKHR( SurfaceKHR surface, Dispatch const &d = Dispatch() ) const;
35965 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35966 
35967  template<typename Dispatch = DispatchLoaderStatic>
35968  Result getSurfacePresentModesKHR( SurfaceKHR surface, uint32_t* pPresentModeCount, PresentModeKHR* pPresentModes, Dispatch const &d = Dispatch() ) const;
35969 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35970  template <typename Allocator = std::allocator<PresentModeKHR>, typename Dispatch = DispatchLoaderStatic>
35971  typename ResultValueType<std::vector<PresentModeKHR,Allocator>>::type getSurfacePresentModesKHR( SurfaceKHR surface, Dispatch const &d = Dispatch() ) const;
35972 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35973 
35974 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
35975  template<typename Dispatch = DispatchLoaderStatic>
35976  Bool32 getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display* display, Dispatch const &d = Dispatch() ) const;
35977 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35978  template<typename Dispatch = DispatchLoaderStatic>
35979  Bool32 getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display & display, Dispatch const &d = Dispatch() ) const;
35980 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35981 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
35982 
35983 #ifdef VK_USE_PLATFORM_WIN32_KHR
35984  template<typename Dispatch = DispatchLoaderStatic>
35985  Bool32 getWin32PresentationSupportKHR( uint32_t queueFamilyIndex, Dispatch const &d = Dispatch() ) const;
35986 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
35987 
35988 #ifdef VK_USE_PLATFORM_XLIB_KHR
35989  template<typename Dispatch = DispatchLoaderStatic>
35990  Bool32 getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display* dpy, VisualID visualID, Dispatch const &d = Dispatch() ) const;
35991 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
35992  template<typename Dispatch = DispatchLoaderStatic>
35993  Bool32 getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display & dpy, VisualID visualID, Dispatch const &d = Dispatch() ) const;
35994 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35995 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
35996 
35997 #ifdef VK_USE_PLATFORM_XCB_KHR
35998  template<typename Dispatch = DispatchLoaderStatic>
35999  Bool32 getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id, Dispatch const &d = Dispatch() ) const;
36000 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36001  template<typename Dispatch = DispatchLoaderStatic>
36002  Bool32 getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t & connection, xcb_visualid_t visual_id, Dispatch const &d = Dispatch() ) const;
36003 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36004 #endif /*VK_USE_PLATFORM_XCB_KHR*/
36005 
36006  template<typename Dispatch = DispatchLoaderStatic>
36007  Result getExternalImageFormatPropertiesNV( Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags, ExternalMemoryHandleTypeFlagsNV externalHandleType, ExternalImageFormatPropertiesNV* pExternalImageFormatProperties, Dispatch const &d = Dispatch() ) const;
36008 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36009  template<typename Dispatch = DispatchLoaderStatic>
36011 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36012 
36013  template<typename Dispatch = DispatchLoaderStatic>
36014  void getGeneratedCommandsPropertiesNVX( DeviceGeneratedCommandsFeaturesNVX* pFeatures, DeviceGeneratedCommandsLimitsNVX* pLimits, Dispatch const &d = Dispatch() ) const;
36015 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36016  template<typename Dispatch = DispatchLoaderStatic>
36018 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36019 
36020  template<typename Dispatch = DispatchLoaderStatic>
36021  void getFeatures2( PhysicalDeviceFeatures2* pFeatures, Dispatch const &d = Dispatch() ) const;
36022 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36023  template<typename Dispatch = DispatchLoaderStatic>
36024  PhysicalDeviceFeatures2 getFeatures2(Dispatch const &d = Dispatch() ) const;
36025  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
36026  StructureChain<T...> getFeatures2(Dispatch const &d = Dispatch() ) const;
36027 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36028 
36029  template<typename Dispatch = DispatchLoaderStatic>
36030  void getFeatures2KHR( PhysicalDeviceFeatures2* pFeatures, Dispatch const &d = Dispatch() ) const;
36031 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36032  template<typename Dispatch = DispatchLoaderStatic>
36033  PhysicalDeviceFeatures2 getFeatures2KHR(Dispatch const &d = Dispatch() ) const;
36034  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
36035  StructureChain<T...> getFeatures2KHR(Dispatch const &d = Dispatch() ) const;
36036 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36037 
36038  template<typename Dispatch = DispatchLoaderStatic>
36039  void getProperties2( PhysicalDeviceProperties2* pProperties, Dispatch const &d = Dispatch() ) const;
36040 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36041  template<typename Dispatch = DispatchLoaderStatic>
36042  PhysicalDeviceProperties2 getProperties2(Dispatch const &d = Dispatch() ) const;
36043  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
36044  StructureChain<T...> getProperties2(Dispatch const &d = Dispatch() ) const;
36045 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36046 
36047  template<typename Dispatch = DispatchLoaderStatic>
36048  void getProperties2KHR( PhysicalDeviceProperties2* pProperties, Dispatch const &d = Dispatch() ) const;
36049 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36050  template<typename Dispatch = DispatchLoaderStatic>
36051  PhysicalDeviceProperties2 getProperties2KHR(Dispatch const &d = Dispatch() ) const;
36052  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
36053  StructureChain<T...> getProperties2KHR(Dispatch const &d = Dispatch() ) const;
36054 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36055 
36056  template<typename Dispatch = DispatchLoaderStatic>
36057  void getFormatProperties2( Format format, FormatProperties2* pFormatProperties, Dispatch const &d = Dispatch() ) const;
36058 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36059  template<typename Dispatch = DispatchLoaderStatic>
36060  FormatProperties2 getFormatProperties2( Format format, Dispatch const &d = Dispatch() ) const;
36061 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36062 
36063  template<typename Dispatch = DispatchLoaderStatic>
36064  void getFormatProperties2KHR( Format format, FormatProperties2* pFormatProperties, Dispatch const &d = Dispatch() ) const;
36065 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36066  template<typename Dispatch = DispatchLoaderStatic>
36067  FormatProperties2 getFormatProperties2KHR( Format format, Dispatch const &d = Dispatch() ) const;
36068 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36069 
36070  template<typename Dispatch = DispatchLoaderStatic>
36071  Result getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2* pImageFormatInfo, ImageFormatProperties2* pImageFormatProperties, Dispatch const &d = Dispatch() ) const;
36072 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36073  template<typename Dispatch = DispatchLoaderStatic>
36074  ResultValueType<ImageFormatProperties2>::type getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo, Dispatch const &d = Dispatch() ) const;
36075  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
36076  typename ResultValueType<StructureChain<T...>>::type getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo, Dispatch const &d = Dispatch() ) const;
36077 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36078 
36079  template<typename Dispatch = DispatchLoaderStatic>
36080  Result getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2* pImageFormatInfo, ImageFormatProperties2* pImageFormatProperties, Dispatch const &d = Dispatch() ) const;
36081 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36082  template<typename Dispatch = DispatchLoaderStatic>
36083  ResultValueType<ImageFormatProperties2>::type getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo, Dispatch const &d = Dispatch() ) const;
36084  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
36085  typename ResultValueType<StructureChain<T...>>::type getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 & imageFormatInfo, Dispatch const &d = Dispatch() ) const;
36086 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36087 
36088  template<typename Dispatch = DispatchLoaderStatic>
36089  void getQueueFamilyProperties2( uint32_t* pQueueFamilyPropertyCount, QueueFamilyProperties2* pQueueFamilyProperties, Dispatch const &d = Dispatch() ) const;
36090 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36091  template <typename Allocator = std::allocator<QueueFamilyProperties2>, typename Dispatch = DispatchLoaderStatic>
36092  std::vector<QueueFamilyProperties2,Allocator> getQueueFamilyProperties2(Dispatch const &d = Dispatch() ) const;
36093 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36094 
36095  template<typename Dispatch = DispatchLoaderStatic>
36096  void getQueueFamilyProperties2KHR( uint32_t* pQueueFamilyPropertyCount, QueueFamilyProperties2* pQueueFamilyProperties, Dispatch const &d = Dispatch() ) const;
36097 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36098  template <typename Allocator = std::allocator<QueueFamilyProperties2>, typename Dispatch = DispatchLoaderStatic>
36099  std::vector<QueueFamilyProperties2,Allocator> getQueueFamilyProperties2KHR(Dispatch const &d = Dispatch() ) const;
36100 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36101 
36102  template<typename Dispatch = DispatchLoaderStatic>
36103  void getMemoryProperties2( PhysicalDeviceMemoryProperties2* pMemoryProperties, Dispatch const &d = Dispatch() ) const;
36104 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36105  template<typename Dispatch = DispatchLoaderStatic>
36106  PhysicalDeviceMemoryProperties2 getMemoryProperties2(Dispatch const &d = Dispatch() ) const;
36107 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36108 
36109  template<typename Dispatch = DispatchLoaderStatic>
36110  void getMemoryProperties2KHR( PhysicalDeviceMemoryProperties2* pMemoryProperties, Dispatch const &d = Dispatch() ) const;
36111 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36112  template<typename Dispatch = DispatchLoaderStatic>
36113  PhysicalDeviceMemoryProperties2 getMemoryProperties2KHR(Dispatch const &d = Dispatch() ) const;
36114 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36115 
36116  template<typename Dispatch = DispatchLoaderStatic>
36117  void getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, SparseImageFormatProperties2* pProperties, Dispatch const &d = Dispatch() ) const;
36118 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36119  template <typename Allocator = std::allocator<SparseImageFormatProperties2>, typename Dispatch = DispatchLoaderStatic>
36120  std::vector<SparseImageFormatProperties2,Allocator> getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo, Dispatch const &d = Dispatch() ) const;
36121 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36122 
36123  template<typename Dispatch = DispatchLoaderStatic>
36124  void getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, SparseImageFormatProperties2* pProperties, Dispatch const &d = Dispatch() ) const;
36125 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36126  template <typename Allocator = std::allocator<SparseImageFormatProperties2>, typename Dispatch = DispatchLoaderStatic>
36127  std::vector<SparseImageFormatProperties2,Allocator> getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo, Dispatch const &d = Dispatch() ) const;
36128 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36129 
36130  template<typename Dispatch = DispatchLoaderStatic>
36131  void getExternalBufferProperties( const PhysicalDeviceExternalBufferInfo* pExternalBufferInfo, ExternalBufferProperties* pExternalBufferProperties, Dispatch const &d = Dispatch() ) const;
36132 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36133  template<typename Dispatch = DispatchLoaderStatic>
36134  ExternalBufferProperties getExternalBufferProperties( const PhysicalDeviceExternalBufferInfo & externalBufferInfo, Dispatch const &d = Dispatch() ) const;
36135 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36136 
36137  template<typename Dispatch = DispatchLoaderStatic>
36138  void getExternalBufferPropertiesKHR( const PhysicalDeviceExternalBufferInfo* pExternalBufferInfo, ExternalBufferProperties* pExternalBufferProperties, Dispatch const &d = Dispatch() ) const;
36139 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36140  template<typename Dispatch = DispatchLoaderStatic>
36141  ExternalBufferProperties getExternalBufferPropertiesKHR( const PhysicalDeviceExternalBufferInfo & externalBufferInfo, Dispatch const &d = Dispatch() ) const;
36142 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36143 
36144  template<typename Dispatch = DispatchLoaderStatic>
36145  void getExternalSemaphoreProperties( const PhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, ExternalSemaphoreProperties* pExternalSemaphoreProperties, Dispatch const &d = Dispatch() ) const;
36146 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36147  template<typename Dispatch = DispatchLoaderStatic>
36148  ExternalSemaphoreProperties getExternalSemaphoreProperties( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo, Dispatch const &d = Dispatch() ) const;
36149 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36150 
36151  template<typename Dispatch = DispatchLoaderStatic>
36152  void getExternalSemaphorePropertiesKHR( const PhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, ExternalSemaphoreProperties* pExternalSemaphoreProperties, Dispatch const &d = Dispatch() ) const;
36153 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36154  template<typename Dispatch = DispatchLoaderStatic>
36155  ExternalSemaphoreProperties getExternalSemaphorePropertiesKHR( const PhysicalDeviceExternalSemaphoreInfo & externalSemaphoreInfo, Dispatch const &d = Dispatch() ) const;
36156 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36157 
36158  template<typename Dispatch = DispatchLoaderStatic>
36159  void getExternalFenceProperties( const PhysicalDeviceExternalFenceInfo* pExternalFenceInfo, ExternalFenceProperties* pExternalFenceProperties, Dispatch const &d = Dispatch() ) const;
36160 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36161  template<typename Dispatch = DispatchLoaderStatic>
36162  ExternalFenceProperties getExternalFenceProperties( const PhysicalDeviceExternalFenceInfo & externalFenceInfo, Dispatch const &d = Dispatch() ) const;
36163 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36164 
36165  template<typename Dispatch = DispatchLoaderStatic>
36166  void getExternalFencePropertiesKHR( const PhysicalDeviceExternalFenceInfo* pExternalFenceInfo, ExternalFenceProperties* pExternalFenceProperties, Dispatch const &d = Dispatch() ) const;
36167 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36168  template<typename Dispatch = DispatchLoaderStatic>
36169  ExternalFenceProperties getExternalFencePropertiesKHR( const PhysicalDeviceExternalFenceInfo & externalFenceInfo, Dispatch const &d = Dispatch() ) const;
36170 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36171 
36172 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
36173  template<typename Dispatch = DispatchLoaderStatic>
36174  Result releaseDisplayEXT( DisplayKHR display, Dispatch const &d = Dispatch() ) const;
36175 #else
36176  template<typename Dispatch = DispatchLoaderStatic>
36177  ResultValueType<void>::type releaseDisplayEXT( DisplayKHR display, Dispatch const &d = Dispatch() ) const;
36178 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36179 
36180 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
36181  template<typename Dispatch = DispatchLoaderStatic>
36182  Result acquireXlibDisplayEXT( Display* dpy, DisplayKHR display, Dispatch const &d = Dispatch() ) const;
36183 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36184  template<typename Dispatch = DispatchLoaderStatic>
36185  ResultValueType<Display>::type acquireXlibDisplayEXT( DisplayKHR display, Dispatch const &d = Dispatch() ) const;
36186 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36187 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
36188 
36189 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
36190  template<typename Dispatch = DispatchLoaderStatic>
36191  Result getRandROutputDisplayEXT( Display* dpy, RROutput rrOutput, DisplayKHR* pDisplay, Dispatch const &d = Dispatch() ) const;
36192 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36193  template<typename Dispatch = DispatchLoaderStatic>
36194  ResultValueType<DisplayKHR>::type getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput, Dispatch const &d = Dispatch() ) const;
36195 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36196 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
36197 
36198  template<typename Dispatch = DispatchLoaderStatic>
36199  Result getSurfaceCapabilities2EXT( SurfaceKHR surface, SurfaceCapabilities2EXT* pSurfaceCapabilities, Dispatch const &d = Dispatch() ) const;
36200 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36201  template<typename Dispatch = DispatchLoaderStatic>
36202  ResultValueType<SurfaceCapabilities2EXT>::type getSurfaceCapabilities2EXT( SurfaceKHR surface, Dispatch const &d = Dispatch() ) const;
36203 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36204 
36205  template<typename Dispatch = DispatchLoaderStatic>
36206  Result getPresentRectanglesKHR( SurfaceKHR surface, uint32_t* pRectCount, Rect2D* pRects, Dispatch const &d = Dispatch() ) const;
36207 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36208  template <typename Allocator = std::allocator<Rect2D>, typename Dispatch = DispatchLoaderStatic>
36209  typename ResultValueType<std::vector<Rect2D,Allocator>>::type getPresentRectanglesKHR( SurfaceKHR surface, Dispatch const &d = Dispatch() ) const;
36210 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36211 
36212  template<typename Dispatch = DispatchLoaderStatic>
36213  void getMultisamplePropertiesEXT( SampleCountFlagBits samples, MultisamplePropertiesEXT* pMultisampleProperties, Dispatch const &d = Dispatch() ) const;
36214 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36215  template<typename Dispatch = DispatchLoaderStatic>
36216  MultisamplePropertiesEXT getMultisamplePropertiesEXT( SampleCountFlagBits samples, Dispatch const &d = Dispatch() ) const;
36217 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36218 
36219  template<typename Dispatch = DispatchLoaderStatic>
36220  Result getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, SurfaceCapabilities2KHR* pSurfaceCapabilities, Dispatch const &d = Dispatch() ) const;
36221 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36222  template<typename Dispatch = DispatchLoaderStatic>
36223  ResultValueType<SurfaceCapabilities2KHR>::type getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const &d = Dispatch() ) const;
36224  template <typename ...T, typename Dispatch = DispatchLoaderStatic>
36225  typename ResultValueType<StructureChain<T...>>::type getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const &d = Dispatch() ) const;
36226 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36227 
36228  template<typename Dispatch = DispatchLoaderStatic>
36229  Result getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, SurfaceFormat2KHR* pSurfaceFormats, Dispatch const &d = Dispatch() ) const;
36230 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36231  template <typename Allocator = std::allocator<SurfaceFormat2KHR>, typename Dispatch = DispatchLoaderStatic>
36232  typename ResultValueType<std::vector<SurfaceFormat2KHR,Allocator>>::type getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR & surfaceInfo, Dispatch const &d = Dispatch() ) const;
36233 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36234 
36235 
36236 
36237  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkPhysicalDevice() const
36238  {
36239  return m_physicalDevice;
36240  }
36241 
36242  explicit operator bool() const
36243  {
36244  return m_physicalDevice != VK_NULL_HANDLE;
36245  }
36246 
36247  bool operator!() const
36248  {
36249  return m_physicalDevice == VK_NULL_HANDLE;
36250  }
36251 
36252  private:
36253  VkPhysicalDevice m_physicalDevice;
36254  };
36255 
36256  static_assert( sizeof( PhysicalDevice ) == sizeof( VkPhysicalDevice ), "handle and wrapper have different size!" );
36257 
36258  template<typename Dispatch>
36259  VULKAN_HPP_INLINE void PhysicalDevice::getProperties( PhysicalDeviceProperties* pProperties, Dispatch const &d) const
36260  {
36261  d.vkGetPhysicalDeviceProperties( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties*>( pProperties ) );
36262  }
36263 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36264  template<typename Dispatch>
36266  {
36267  PhysicalDeviceProperties properties;
36268  d.vkGetPhysicalDeviceProperties( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties*>( &properties ) );
36269  return properties;
36270  }
36271 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36272 
36273  template<typename Dispatch>
36274  VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties( uint32_t* pQueueFamilyPropertyCount, QueueFamilyProperties* pQueueFamilyProperties, Dispatch const &d) const
36275  {
36276  d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, pQueueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties*>( pQueueFamilyProperties ) );
36277  }
36278 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36279  template <typename Allocator, typename Dispatch>
36280  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties,Allocator> PhysicalDevice::getQueueFamilyProperties(Dispatch const &d ) const
36281  {
36282  std::vector<QueueFamilyProperties,Allocator> queueFamilyProperties;
36283  uint32_t queueFamilyPropertyCount;
36284  d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
36285  queueFamilyProperties.resize( queueFamilyPropertyCount );
36286  d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties*>( queueFamilyProperties.data() ) );
36287  return queueFamilyProperties;
36288  }
36289 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36290 
36291  template<typename Dispatch>
36293  {
36294  d.vkGetPhysicalDeviceMemoryProperties( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties*>( pMemoryProperties ) );
36295  }
36296 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36297  template<typename Dispatch>
36299  {
36300  PhysicalDeviceMemoryProperties memoryProperties;
36301  d.vkGetPhysicalDeviceMemoryProperties( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties*>( &memoryProperties ) );
36302  return memoryProperties;
36303  }
36304 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36305 
36306  template<typename Dispatch>
36307  VULKAN_HPP_INLINE void PhysicalDevice::getFeatures( PhysicalDeviceFeatures* pFeatures, Dispatch const &d) const
36308  {
36309  d.vkGetPhysicalDeviceFeatures( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures*>( pFeatures ) );
36310  }
36311 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36312  template<typename Dispatch>
36314  {
36316  d.vkGetPhysicalDeviceFeatures( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures*>( &features ) );
36317  return features;
36318  }
36319 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36320 
36321  template<typename Dispatch>
36322  VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties( Format format, FormatProperties* pFormatProperties, Dispatch const &d) const
36323  {
36324  d.vkGetPhysicalDeviceFormatProperties( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties*>( pFormatProperties ) );
36325  }
36326 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36327  template<typename Dispatch>
36329  {
36330  FormatProperties formatProperties;
36331  d.vkGetPhysicalDeviceFormatProperties( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties*>( &formatProperties ) );
36332  return formatProperties;
36333  }
36334 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36335 
36336  template<typename Dispatch>
36338  {
36339  return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties( m_physicalDevice, static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), static_cast<VkImageTiling>( tiling ), static_cast<VkImageUsageFlags>( usage ), static_cast<VkImageCreateFlags>( flags ), reinterpret_cast<VkImageFormatProperties*>( pImageFormatProperties ) ) );
36340  }
36341 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36342  template<typename Dispatch>
36344  {
36345  ImageFormatProperties imageFormatProperties;
36346  Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties( m_physicalDevice, static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), static_cast<VkImageTiling>( tiling ), static_cast<VkImageUsageFlags>( usage ), static_cast<VkImageCreateFlags>( flags ), reinterpret_cast<VkImageFormatProperties*>( &imageFormatProperties ) ) );
36347  return createResultValue( result, imageFormatProperties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getImageFormatProperties" );
36348  }
36349 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36350 
36351  template<typename Dispatch>
36352  VULKAN_HPP_INLINE Result PhysicalDevice::createDevice( const DeviceCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Device* pDevice, Dispatch const &d) const
36353  {
36354  return static_cast<Result>( d.vkCreateDevice( m_physicalDevice, reinterpret_cast<const VkDeviceCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDevice*>( pDevice ) ) );
36355  }
36356 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36357  template<typename Dispatch>
36359  {
36360  Device device;
36361  Result result = static_cast<Result>( d.vkCreateDevice( m_physicalDevice, reinterpret_cast<const VkDeviceCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDevice*>( &device ) ) );
36362  return createResultValue( result, device, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::createDevice" );
36363  }
36364 #ifndef VULKAN_HPP_NO_SMART_HANDLE
36365  template<typename Dispatch>
36367  {
36368  Device device;
36369  Result result = static_cast<Result>( d.vkCreateDevice( m_physicalDevice, reinterpret_cast<const VkDeviceCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDevice*>( &device ) ) );
36370 
36371  ObjectDestroy<NoParent> deleter( allocator );
36372  return createResultValue( result, device, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::createDeviceUnique", deleter );
36373  }
36374 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
36375 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36376 
36377  template<typename Dispatch>
36379  {
36380  return static_cast<Result>( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, pPropertyCount, reinterpret_cast<VkLayerProperties*>( pProperties ) ) );
36381  }
36382 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36383  template <typename Allocator, typename Dispatch>
36385  {
36386  std::vector<LayerProperties,Allocator> properties;
36387  uint32_t propertyCount;
36388  Result result;
36389  do
36390  {
36391  result = static_cast<Result>( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, nullptr ) );
36392  if ( ( result == Result::eSuccess ) && propertyCount )
36393  {
36394  properties.resize( propertyCount );
36395  result = static_cast<Result>( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, reinterpret_cast<VkLayerProperties*>( properties.data() ) ) );
36396  }
36397  } while ( result == Result::eIncomplete );
36398  VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
36399  properties.resize( propertyCount );
36400  return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::enumerateDeviceLayerProperties" );
36401  }
36402 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36403 
36404  template<typename Dispatch>
36405  VULKAN_HPP_INLINE Result PhysicalDevice::enumerateDeviceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, ExtensionProperties* pProperties, Dispatch const &d) const
36406  {
36407  return static_cast<Result>( d.vkEnumerateDeviceExtensionProperties( m_physicalDevice, pLayerName, pPropertyCount, reinterpret_cast<VkExtensionProperties*>( pProperties ) ) );
36408  }
36409 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36410  template <typename Allocator, typename Dispatch>
36412  {
36413  std::vector<ExtensionProperties,Allocator> properties;
36414  uint32_t propertyCount;
36415  Result result;
36416  do
36417  {
36418  result = static_cast<Result>( d.vkEnumerateDeviceExtensionProperties( m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) );
36419  if ( ( result == Result::eSuccess ) && propertyCount )
36420  {
36421  properties.resize( propertyCount );
36422  result = static_cast<Result>( d.vkEnumerateDeviceExtensionProperties( m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast<VkExtensionProperties*>( properties.data() ) ) );
36423  }
36424  } while ( result == Result::eIncomplete );
36425  VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
36426  properties.resize( propertyCount );
36427  return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::enumerateDeviceExtensionProperties" );
36428  }
36429 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36430 
36431  template<typename Dispatch>
36433  {
36434  d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), static_cast<VkSampleCountFlagBits>( samples ), static_cast<VkImageUsageFlags>( usage ), static_cast<VkImageTiling>( tiling ), pPropertyCount, reinterpret_cast<VkSparseImageFormatProperties*>( pProperties ) );
36435  }
36436 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36437  template <typename Allocator, typename Dispatch>
36438  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties,Allocator> PhysicalDevice::getSparseImageFormatProperties( Format format, ImageType type, SampleCountFlagBits samples, ImageUsageFlags usage, ImageTiling tiling, Dispatch const &d ) const
36439  {
36440  std::vector<SparseImageFormatProperties,Allocator> properties;
36441  uint32_t propertyCount;
36442  d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), static_cast<VkSampleCountFlagBits>( samples ), static_cast<VkImageUsageFlags>( usage ), static_cast<VkImageTiling>( tiling ), &propertyCount, nullptr );
36443  properties.resize( propertyCount );
36444  d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), static_cast<VkSampleCountFlagBits>( samples ), static_cast<VkImageUsageFlags>( usage ), static_cast<VkImageTiling>( tiling ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties*>( properties.data() ) );
36445  return properties;
36446  }
36447 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36448 
36449  template<typename Dispatch>
36450  VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPropertiesKHR( uint32_t* pPropertyCount, DisplayPropertiesKHR* pProperties, Dispatch const &d) const
36451  {
36452  return static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, pPropertyCount, reinterpret_cast<VkDisplayPropertiesKHR*>( pProperties ) ) );
36453  }
36454 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36455  template <typename Allocator, typename Dispatch>
36457  {
36458  std::vector<DisplayPropertiesKHR,Allocator> properties;
36459  uint32_t propertyCount;
36460  Result result;
36461  do
36462  {
36463  result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) );
36464  if ( ( result == Result::eSuccess ) && propertyCount )
36465  {
36466  properties.resize( propertyCount );
36467  result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPropertiesKHR*>( properties.data() ) ) );
36468  }
36469  } while ( result == Result::eIncomplete );
36470  VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
36471  properties.resize( propertyCount );
36472  return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getDisplayPropertiesKHR" );
36473  }
36474 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36475 
36476  template<typename Dispatch>
36478  {
36479  return static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, pPropertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR*>( pProperties ) ) );
36480  }
36481 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36482  template <typename Allocator, typename Dispatch>
36484  {
36485  std::vector<DisplayPlanePropertiesKHR,Allocator> properties;
36486  uint32_t propertyCount;
36487  Result result;
36488  do
36489  {
36490  result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) );
36491  if ( ( result == Result::eSuccess ) && propertyCount )
36492  {
36493  properties.resize( propertyCount );
36494  result = static_cast<Result>( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, &propertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR*>( properties.data() ) ) );
36495  }
36496  } while ( result == Result::eIncomplete );
36497  VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
36498  properties.resize( propertyCount );
36499  return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getDisplayPlanePropertiesKHR" );
36500  }
36501 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36502 
36503  template<typename Dispatch>
36504  VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, uint32_t* pDisplayCount, DisplayKHR* pDisplays, Dispatch const &d) const
36505  {
36506  return static_cast<Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, pDisplayCount, reinterpret_cast<VkDisplayKHR*>( pDisplays ) ) );
36507  }
36508 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36509  template <typename Allocator, typename Dispatch>
36511  {
36512  std::vector<DisplayKHR,Allocator> displays;
36513  uint32_t displayCount;
36514  Result result;
36515  do
36516  {
36517  result = static_cast<Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, nullptr ) );
36518  if ( ( result == Result::eSuccess ) && displayCount )
36519  {
36520  displays.resize( displayCount );
36521  result = static_cast<Result>( d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, reinterpret_cast<VkDisplayKHR*>( displays.data() ) ) );
36522  }
36523  } while ( result == Result::eIncomplete );
36524  VULKAN_HPP_ASSERT( displayCount <= displays.size() );
36525  displays.resize( displayCount );
36526  return createResultValue( result, displays, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" );
36527  }
36528 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36529 
36530  template<typename Dispatch>
36532  {
36533  return static_cast<Result>( d.vkGetDisplayModePropertiesKHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), pPropertyCount, reinterpret_cast<VkDisplayModePropertiesKHR*>( pProperties ) ) );
36534  }
36535 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36536  template <typename Allocator, typename Dispatch>
36538  {
36539  std::vector<DisplayModePropertiesKHR,Allocator> properties;
36540  uint32_t propertyCount;
36541  Result result;
36542  do
36543  {
36544  result = static_cast<Result>( d.vkGetDisplayModePropertiesKHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, nullptr ) );
36545  if ( ( result == Result::eSuccess ) && propertyCount )
36546  {
36547  properties.resize( propertyCount );
36548  result = static_cast<Result>( d.vkGetDisplayModePropertiesKHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), &propertyCount, reinterpret_cast<VkDisplayModePropertiesKHR*>( properties.data() ) ) );
36549  }
36550  } while ( result == Result::eIncomplete );
36551  VULKAN_HPP_ASSERT( propertyCount <= properties.size() );
36552  properties.resize( propertyCount );
36553  return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getDisplayModePropertiesKHR" );
36554  }
36555 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36556 
36557  template<typename Dispatch>
36558  VULKAN_HPP_INLINE Result PhysicalDevice::createDisplayModeKHR( DisplayKHR display, const DisplayModeCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, DisplayModeKHR* pMode, Dispatch const &d) const
36559  {
36560  return static_cast<Result>( d.vkCreateDisplayModeKHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayModeCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDisplayModeKHR*>( pMode ) ) );
36561  }
36562 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36563  template<typename Dispatch>
36565  {
36567  Result result = static_cast<Result>( d.vkCreateDisplayModeKHR( m_physicalDevice, static_cast<VkDisplayKHR>( display ), reinterpret_cast<const VkDisplayModeCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDisplayModeKHR*>( &mode ) ) );
36568  return createResultValue( result, mode, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::createDisplayModeKHR" );
36569  }
36570 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36571 
36572  template<typename Dispatch>
36574  {
36575  return static_cast<Result>( d.vkGetDisplayPlaneCapabilitiesKHR( m_physicalDevice, static_cast<VkDisplayModeKHR>( mode ), planeIndex, reinterpret_cast<VkDisplayPlaneCapabilitiesKHR*>( pCapabilities ) ) );
36576  }
36577 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36578  template<typename Dispatch>
36580  {
36581  DisplayPlaneCapabilitiesKHR capabilities;
36582  Result result = static_cast<Result>( d.vkGetDisplayPlaneCapabilitiesKHR( m_physicalDevice, static_cast<VkDisplayModeKHR>( mode ), planeIndex, reinterpret_cast<VkDisplayPlaneCapabilitiesKHR*>( &capabilities ) ) );
36583  return createResultValue( result, capabilities, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getDisplayPlaneCapabilitiesKHR" );
36584  }
36585 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36586 
36587 #ifdef VK_USE_PLATFORM_MIR_KHR
36588  template<typename Dispatch>
36589  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getMirPresentationSupportKHR( uint32_t queueFamilyIndex, MirConnection* connection, Dispatch const &d) const
36590  {
36591  return d.vkGetPhysicalDeviceMirPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, connection );
36592  }
36593 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36594  template<typename Dispatch>
36595  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getMirPresentationSupportKHR( uint32_t queueFamilyIndex, MirConnection & connection, Dispatch const &d ) const
36596  {
36597  return d.vkGetPhysicalDeviceMirPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &connection );
36598  }
36599 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36600 #endif /*VK_USE_PLATFORM_MIR_KHR*/
36601 
36602  template<typename Dispatch>
36603  VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, SurfaceKHR surface, Bool32* pSupported, Dispatch const &d) const
36604  {
36605  return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceSupportKHR( m_physicalDevice, queueFamilyIndex, static_cast<VkSurfaceKHR>( surface ), pSupported ) );
36606  }
36607 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36608  template<typename Dispatch>
36610  {
36611  Bool32 supported;
36612  Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceSupportKHR( m_physicalDevice, queueFamilyIndex, static_cast<VkSurfaceKHR>( surface ), &supported ) );
36613  return createResultValue( result, supported, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getSurfaceSupportKHR" );
36614  }
36615 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36616 
36617  template<typename Dispatch>
36619  {
36620  return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkSurfaceCapabilitiesKHR*>( pSurfaceCapabilities ) ) );
36621  }
36622 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36623  template<typename Dispatch>
36625  {
36626  SurfaceCapabilitiesKHR surfaceCapabilities;
36627  Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkSurfaceCapabilitiesKHR*>( &surfaceCapabilities ) ) );
36628  return createResultValue( result, surfaceCapabilities, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getSurfaceCapabilitiesKHR" );
36629  }
36630 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36631 
36632  template<typename Dispatch>
36633  VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceFormatsKHR( SurfaceKHR surface, uint32_t* pSurfaceFormatCount, SurfaceFormatKHR* pSurfaceFormats, Dispatch const &d) const
36634  {
36635  return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), pSurfaceFormatCount, reinterpret_cast<VkSurfaceFormatKHR*>( pSurfaceFormats ) ) );
36636  }
36637 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36638  template <typename Allocator, typename Dispatch>
36640  {
36641  std::vector<SurfaceFormatKHR,Allocator> surfaceFormats;
36642  uint32_t surfaceFormatCount;
36643  Result result;
36644  do
36645  {
36646  result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, nullptr ) );
36647  if ( ( result == Result::eSuccess ) && surfaceFormatCount )
36648  {
36649  surfaceFormats.resize( surfaceFormatCount );
36650  result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &surfaceFormatCount, reinterpret_cast<VkSurfaceFormatKHR*>( surfaceFormats.data() ) ) );
36651  }
36652  } while ( result == Result::eIncomplete );
36653  VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() );
36654  surfaceFormats.resize( surfaceFormatCount );
36655  return createResultValue( result, surfaceFormats, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getSurfaceFormatsKHR" );
36656  }
36657 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36658 
36659  template<typename Dispatch>
36660  VULKAN_HPP_INLINE Result PhysicalDevice::getSurfacePresentModesKHR( SurfaceKHR surface, uint32_t* pPresentModeCount, PresentModeKHR* pPresentModes, Dispatch const &d) const
36661  {
36662  return static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), pPresentModeCount, reinterpret_cast<VkPresentModeKHR*>( pPresentModes ) ) );
36663  }
36664 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36665  template <typename Allocator, typename Dispatch>
36667  {
36668  std::vector<PresentModeKHR,Allocator> presentModes;
36669  uint32_t presentModeCount;
36670  Result result;
36671  do
36672  {
36673  result = static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &presentModeCount, nullptr ) );
36674  if ( ( result == Result::eSuccess ) && presentModeCount )
36675  {
36676  presentModes.resize( presentModeCount );
36677  result = static_cast<Result>( d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &presentModeCount, reinterpret_cast<VkPresentModeKHR*>( presentModes.data() ) ) );
36678  }
36679  } while ( result == Result::eIncomplete );
36680  VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() );
36681  presentModes.resize( presentModeCount );
36682  return createResultValue( result, presentModes, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getSurfacePresentModesKHR" );
36683  }
36684 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36685 
36686 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
36687  template<typename Dispatch>
36688  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display* display, Dispatch const &d) const
36689  {
36690  return d.vkGetPhysicalDeviceWaylandPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, display );
36691  }
36692 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36693  template<typename Dispatch>
36694  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display & display, Dispatch const &d ) const
36695  {
36696  return d.vkGetPhysicalDeviceWaylandPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &display );
36697  }
36698 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36699 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
36700 
36701 #ifdef VK_USE_PLATFORM_WIN32_KHR
36702 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
36703  template<typename Dispatch>
36704  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex, Dispatch const &d) const
36705  {
36706  return d.vkGetPhysicalDeviceWin32PresentationSupportKHR( m_physicalDevice, queueFamilyIndex );
36707  }
36708 #else
36709  template<typename Dispatch>
36710  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex, Dispatch const &d ) const
36711  {
36712  return d.vkGetPhysicalDeviceWin32PresentationSupportKHR( m_physicalDevice, queueFamilyIndex );
36713  }
36714 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36715 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
36716 
36717 #ifdef VK_USE_PLATFORM_XLIB_KHR
36718  template<typename Dispatch>
36719  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display* dpy, VisualID visualID, Dispatch const &d) const
36720  {
36721  return d.vkGetPhysicalDeviceXlibPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, dpy, visualID );
36722  }
36723 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36724  template<typename Dispatch>
36725  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display & dpy, VisualID visualID, Dispatch const &d ) const
36726  {
36727  return d.vkGetPhysicalDeviceXlibPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &dpy, visualID );
36728  }
36729 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36730 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
36731 
36732 #ifdef VK_USE_PLATFORM_XCB_KHR
36733  template<typename Dispatch>
36734  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id, Dispatch const &d) const
36735  {
36736  return d.vkGetPhysicalDeviceXcbPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, connection, visual_id );
36737  }
36738 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36739  template<typename Dispatch>
36740  VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t & connection, xcb_visualid_t visual_id, Dispatch const &d ) const
36741  {
36742  return d.vkGetPhysicalDeviceXcbPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &connection, visual_id );
36743  }
36744 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36745 #endif /*VK_USE_PLATFORM_XCB_KHR*/
36746 
36747  template<typename Dispatch>
36749  {
36750  return static_cast<Result>( d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV( m_physicalDevice, static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), static_cast<VkImageTiling>( tiling ), static_cast<VkImageUsageFlags>( usage ), static_cast<VkImageCreateFlags>( flags ), static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ), reinterpret_cast<VkExternalImageFormatPropertiesNV*>( pExternalImageFormatProperties ) ) );
36751  }
36752 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36753  template<typename Dispatch>
36755  {
36756  ExternalImageFormatPropertiesNV externalImageFormatProperties;
36757  Result result = static_cast<Result>( d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV( m_physicalDevice, static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), static_cast<VkImageTiling>( tiling ), static_cast<VkImageUsageFlags>( usage ), static_cast<VkImageCreateFlags>( flags ), static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ), reinterpret_cast<VkExternalImageFormatPropertiesNV*>( &externalImageFormatProperties ) ) );
36758  return createResultValue( result, externalImageFormatProperties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getExternalImageFormatPropertiesNV" );
36759  }
36760 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36761 
36762  template<typename Dispatch>
36764  {
36765  d.vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( m_physicalDevice, reinterpret_cast<VkDeviceGeneratedCommandsFeaturesNVX*>( pFeatures ), reinterpret_cast<VkDeviceGeneratedCommandsLimitsNVX*>( pLimits ) );
36766  }
36767 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36768  template<typename Dispatch>
36770  {
36772  d.vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( m_physicalDevice, reinterpret_cast<VkDeviceGeneratedCommandsFeaturesNVX*>( &features ), reinterpret_cast<VkDeviceGeneratedCommandsLimitsNVX*>( &limits ) );
36773  return limits;
36774  }
36775 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36776 
36777  template<typename Dispatch>
36779  {
36780  d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2*>( pFeatures ) );
36781  }
36782 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36783  template<typename Dispatch>
36785  {
36787  d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2*>( &features ) );
36788  return features;
36789  }
36790  template <typename ...T, typename Dispatch>
36792  {
36793  StructureChain<T...> structureChain;
36794  PhysicalDeviceFeatures2& features = structureChain.template get<PhysicalDeviceFeatures2>();
36795  d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2*>( &features ) );
36796  return structureChain;
36797  }
36798 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36799 
36800  template<typename Dispatch>
36802  {
36803  d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2*>( pFeatures ) );
36804  }
36805 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36806  template<typename Dispatch>
36808  {
36810  d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2*>( &features ) );
36811  return features;
36812  }
36813  template <typename ...T, typename Dispatch>
36815  {
36816  StructureChain<T...> structureChain;
36817  PhysicalDeviceFeatures2& features = structureChain.template get<PhysicalDeviceFeatures2>();
36818  d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceFeatures2*>( &features ) );
36819  return structureChain;
36820  }
36821 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36822 
36823  template<typename Dispatch>
36825  {
36826  d.vkGetPhysicalDeviceProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2*>( pProperties ) );
36827  }
36828 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36829  template<typename Dispatch>
36831  {
36832  PhysicalDeviceProperties2 properties;
36833  d.vkGetPhysicalDeviceProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2*>( &properties ) );
36834  return properties;
36835  }
36836  template <typename ...T, typename Dispatch>
36838  {
36839  StructureChain<T...> structureChain;
36840  PhysicalDeviceProperties2& properties = structureChain.template get<PhysicalDeviceProperties2>();
36841  d.vkGetPhysicalDeviceProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2*>( &properties ) );
36842  return structureChain;
36843  }
36844 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36845 
36846  template<typename Dispatch>
36848  {
36849  d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2*>( pProperties ) );
36850  }
36851 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36852  template<typename Dispatch>
36854  {
36855  PhysicalDeviceProperties2 properties;
36856  d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2*>( &properties ) );
36857  return properties;
36858  }
36859  template <typename ...T, typename Dispatch>
36861  {
36862  StructureChain<T...> structureChain;
36863  PhysicalDeviceProperties2& properties = structureChain.template get<PhysicalDeviceProperties2>();
36864  d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceProperties2*>( &properties ) );
36865  return structureChain;
36866  }
36867 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36868 
36869  template<typename Dispatch>
36870  VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties2( Format format, FormatProperties2* pFormatProperties, Dispatch const &d) const
36871  {
36872  d.vkGetPhysicalDeviceFormatProperties2( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2*>( pFormatProperties ) );
36873  }
36874 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36875  template<typename Dispatch>
36877  {
36878  FormatProperties2 formatProperties;
36879  d.vkGetPhysicalDeviceFormatProperties2( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2*>( &formatProperties ) );
36880  return formatProperties;
36881  }
36882 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36883 
36884  template<typename Dispatch>
36886  {
36887  d.vkGetPhysicalDeviceFormatProperties2KHR( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2*>( pFormatProperties ) );
36888  }
36889 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36890  template<typename Dispatch>
36892  {
36893  FormatProperties2 formatProperties;
36894  d.vkGetPhysicalDeviceFormatProperties2KHR( m_physicalDevice, static_cast<VkFormat>( format ), reinterpret_cast<VkFormatProperties2*>( &formatProperties ) );
36895  return formatProperties;
36896  }
36897 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36898 
36899  template<typename Dispatch>
36900  VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2* pImageFormatInfo, ImageFormatProperties2* pImageFormatProperties, Dispatch const &d) const
36901  {
36902  return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2*>( pImageFormatInfo ), reinterpret_cast<VkImageFormatProperties2*>( pImageFormatProperties ) ) );
36903  }
36904 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36905  template<typename Dispatch>
36907  {
36908  ImageFormatProperties2 imageFormatProperties;
36909  Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2*>( &imageFormatInfo ), reinterpret_cast<VkImageFormatProperties2*>( &imageFormatProperties ) ) );
36910  return createResultValue( result, imageFormatProperties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getImageFormatProperties2" );
36911  }
36912  template <typename ...T, typename Dispatch>
36914  {
36915  StructureChain<T...> structureChain;
36916  ImageFormatProperties2& imageFormatProperties = structureChain.template get<ImageFormatProperties2>();
36917  Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2*>( &imageFormatInfo ), reinterpret_cast<VkImageFormatProperties2*>( &imageFormatProperties ) ) );
36918  return createResultValue( result, structureChain, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getImageFormatProperties2" );
36919  }
36920 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36921 
36922  template<typename Dispatch>
36923  VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2* pImageFormatInfo, ImageFormatProperties2* pImageFormatProperties, Dispatch const &d) const
36924  {
36925  return static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2*>( pImageFormatInfo ), reinterpret_cast<VkImageFormatProperties2*>( pImageFormatProperties ) ) );
36926  }
36927 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36928  template<typename Dispatch>
36930  {
36931  ImageFormatProperties2 imageFormatProperties;
36932  Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2*>( &imageFormatInfo ), reinterpret_cast<VkImageFormatProperties2*>( &imageFormatProperties ) ) );
36933  return createResultValue( result, imageFormatProperties, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getImageFormatProperties2KHR" );
36934  }
36935  template <typename ...T, typename Dispatch>
36937  {
36938  StructureChain<T...> structureChain;
36939  ImageFormatProperties2& imageFormatProperties = structureChain.template get<ImageFormatProperties2>();
36940  Result result = static_cast<Result>( d.vkGetPhysicalDeviceImageFormatProperties2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2*>( &imageFormatInfo ), reinterpret_cast<VkImageFormatProperties2*>( &imageFormatProperties ) ) );
36941  return createResultValue( result, structureChain, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getImageFormatProperties2KHR" );
36942  }
36943 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36944 
36945  template<typename Dispatch>
36946  VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties2( uint32_t* pQueueFamilyPropertyCount, QueueFamilyProperties2* pQueueFamilyProperties, Dispatch const &d) const
36947  {
36948  d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, pQueueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2*>( pQueueFamilyProperties ) );
36949  }
36950 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36951  template <typename Allocator, typename Dispatch>
36952  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2,Allocator> PhysicalDevice::getQueueFamilyProperties2(Dispatch const &d ) const
36953  {
36954  std::vector<QueueFamilyProperties2,Allocator> queueFamilyProperties;
36955  uint32_t queueFamilyPropertyCount;
36956  d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
36957  queueFamilyProperties.resize( queueFamilyPropertyCount );
36958  d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2*>( queueFamilyProperties.data() ) );
36959  return queueFamilyProperties;
36960  }
36961 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36962 
36963  template<typename Dispatch>
36964  VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties2KHR( uint32_t* pQueueFamilyPropertyCount, QueueFamilyProperties2* pQueueFamilyProperties, Dispatch const &d) const
36965  {
36966  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, pQueueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2*>( pQueueFamilyProperties ) );
36967  }
36968 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36969  template <typename Allocator, typename Dispatch>
36970  VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2,Allocator> PhysicalDevice::getQueueFamilyProperties2KHR(Dispatch const &d ) const
36971  {
36972  std::vector<QueueFamilyProperties2,Allocator> queueFamilyProperties;
36973  uint32_t queueFamilyPropertyCount;
36974  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr );
36975  queueFamilyProperties.resize( queueFamilyPropertyCount );
36976  d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2*>( queueFamilyProperties.data() ) );
36977  return queueFamilyProperties;
36978  }
36979 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36980 
36981  template<typename Dispatch>
36983  {
36984  d.vkGetPhysicalDeviceMemoryProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2*>( pMemoryProperties ) );
36985  }
36986 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
36987  template<typename Dispatch>
36989  {
36990  PhysicalDeviceMemoryProperties2 memoryProperties;
36991  d.vkGetPhysicalDeviceMemoryProperties2( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2*>( &memoryProperties ) );
36992  return memoryProperties;
36993  }
36994 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36995 
36996  template<typename Dispatch>
36998  {
36999  d.vkGetPhysicalDeviceMemoryProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2*>( pMemoryProperties ) );
37000  }
37001 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37002  template<typename Dispatch>
37004  {
37005  PhysicalDeviceMemoryProperties2 memoryProperties;
37006  d.vkGetPhysicalDeviceMemoryProperties2KHR( m_physicalDevice, reinterpret_cast<VkPhysicalDeviceMemoryProperties2*>( &memoryProperties ) );
37007  return memoryProperties;
37008  }
37009 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37010 
37011  template<typename Dispatch>
37013  {
37014  d.vkGetPhysicalDeviceSparseImageFormatProperties2( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2*>( pFormatInfo ), pPropertyCount, reinterpret_cast<VkSparseImageFormatProperties2*>( pProperties ) );
37015  }
37016 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37017  template <typename Allocator, typename Dispatch>
37018  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2,Allocator> PhysicalDevice::getSparseImageFormatProperties2( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo, Dispatch const &d ) const
37019  {
37020  std::vector<SparseImageFormatProperties2,Allocator> properties;
37021  uint32_t propertyCount;
37022  d.vkGetPhysicalDeviceSparseImageFormatProperties2( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2*>( &formatInfo ), &propertyCount, nullptr );
37023  properties.resize( propertyCount );
37024  d.vkGetPhysicalDeviceSparseImageFormatProperties2( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2*>( &formatInfo ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties2*>( properties.data() ) );
37025  return properties;
37026  }
37027 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37028 
37029  template<typename Dispatch>
37031  {
37032  d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2*>( pFormatInfo ), pPropertyCount, reinterpret_cast<VkSparseImageFormatProperties2*>( pProperties ) );
37033  }
37034 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37035  template <typename Allocator, typename Dispatch>
37036  VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties2,Allocator> PhysicalDevice::getSparseImageFormatProperties2KHR( const PhysicalDeviceSparseImageFormatInfo2 & formatInfo, Dispatch const &d ) const
37037  {
37038  std::vector<SparseImageFormatProperties2,Allocator> properties;
37039  uint32_t propertyCount;
37040  d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2*>( &formatInfo ), &propertyCount, nullptr );
37041  properties.resize( propertyCount );
37042  d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2*>( &formatInfo ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties2*>( properties.data() ) );
37043  return properties;
37044  }
37045 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37046 
37047  template<typename Dispatch>
37048  VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferProperties( const PhysicalDeviceExternalBufferInfo* pExternalBufferInfo, ExternalBufferProperties* pExternalBufferProperties, Dispatch const &d) const
37049  {
37050  d.vkGetPhysicalDeviceExternalBufferProperties( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo*>( pExternalBufferInfo ), reinterpret_cast<VkExternalBufferProperties*>( pExternalBufferProperties ) );
37051  }
37052 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37053  template<typename Dispatch>
37055  {
37056  ExternalBufferProperties externalBufferProperties;
37057  d.vkGetPhysicalDeviceExternalBufferProperties( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo*>( &externalBufferInfo ), reinterpret_cast<VkExternalBufferProperties*>( &externalBufferProperties ) );
37058  return externalBufferProperties;
37059  }
37060 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37061 
37062  template<typename Dispatch>
37063  VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferPropertiesKHR( const PhysicalDeviceExternalBufferInfo* pExternalBufferInfo, ExternalBufferProperties* pExternalBufferProperties, Dispatch const &d) const
37064  {
37065  d.vkGetPhysicalDeviceExternalBufferPropertiesKHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo*>( pExternalBufferInfo ), reinterpret_cast<VkExternalBufferProperties*>( pExternalBufferProperties ) );
37066  }
37067 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37068  template<typename Dispatch>
37070  {
37071  ExternalBufferProperties externalBufferProperties;
37072  d.vkGetPhysicalDeviceExternalBufferPropertiesKHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo*>( &externalBufferInfo ), reinterpret_cast<VkExternalBufferProperties*>( &externalBufferProperties ) );
37073  return externalBufferProperties;
37074  }
37075 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37076 
37077  template<typename Dispatch>
37078  VULKAN_HPP_INLINE void PhysicalDevice::getExternalSemaphoreProperties( const PhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, ExternalSemaphoreProperties* pExternalSemaphoreProperties, Dispatch const &d) const
37079  {
37080  d.vkGetPhysicalDeviceExternalSemaphoreProperties( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo*>( pExternalSemaphoreInfo ), reinterpret_cast<VkExternalSemaphoreProperties*>( pExternalSemaphoreProperties ) );
37081  }
37082 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37083  template<typename Dispatch>
37085  {
37086  ExternalSemaphoreProperties externalSemaphoreProperties;
37087  d.vkGetPhysicalDeviceExternalSemaphoreProperties( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo*>( &externalSemaphoreInfo ), reinterpret_cast<VkExternalSemaphoreProperties*>( &externalSemaphoreProperties ) );
37088  return externalSemaphoreProperties;
37089  }
37090 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37091 
37092  template<typename Dispatch>
37093  VULKAN_HPP_INLINE void PhysicalDevice::getExternalSemaphorePropertiesKHR( const PhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, ExternalSemaphoreProperties* pExternalSemaphoreProperties, Dispatch const &d) const
37094  {
37095  d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo*>( pExternalSemaphoreInfo ), reinterpret_cast<VkExternalSemaphoreProperties*>( pExternalSemaphoreProperties ) );
37096  }
37097 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37098  template<typename Dispatch>
37100  {
37101  ExternalSemaphoreProperties externalSemaphoreProperties;
37102  d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo*>( &externalSemaphoreInfo ), reinterpret_cast<VkExternalSemaphoreProperties*>( &externalSemaphoreProperties ) );
37103  return externalSemaphoreProperties;
37104  }
37105 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37106 
37107  template<typename Dispatch>
37108  VULKAN_HPP_INLINE void PhysicalDevice::getExternalFenceProperties( const PhysicalDeviceExternalFenceInfo* pExternalFenceInfo, ExternalFenceProperties* pExternalFenceProperties, Dispatch const &d) const
37109  {
37110  d.vkGetPhysicalDeviceExternalFenceProperties( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo*>( pExternalFenceInfo ), reinterpret_cast<VkExternalFenceProperties*>( pExternalFenceProperties ) );
37111  }
37112 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37113  template<typename Dispatch>
37115  {
37116  ExternalFenceProperties externalFenceProperties;
37117  d.vkGetPhysicalDeviceExternalFenceProperties( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo*>( &externalFenceInfo ), reinterpret_cast<VkExternalFenceProperties*>( &externalFenceProperties ) );
37118  return externalFenceProperties;
37119  }
37120 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37121 
37122  template<typename Dispatch>
37123  VULKAN_HPP_INLINE void PhysicalDevice::getExternalFencePropertiesKHR( const PhysicalDeviceExternalFenceInfo* pExternalFenceInfo, ExternalFenceProperties* pExternalFenceProperties, Dispatch const &d) const
37124  {
37125  d.vkGetPhysicalDeviceExternalFencePropertiesKHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo*>( pExternalFenceInfo ), reinterpret_cast<VkExternalFenceProperties*>( pExternalFenceProperties ) );
37126  }
37127 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37128  template<typename Dispatch>
37130  {
37131  ExternalFenceProperties externalFenceProperties;
37132  d.vkGetPhysicalDeviceExternalFencePropertiesKHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo*>( &externalFenceInfo ), reinterpret_cast<VkExternalFenceProperties*>( &externalFenceProperties ) );
37133  return externalFenceProperties;
37134  }
37135 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37136 
37137 #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
37138  template<typename Dispatch>
37139  VULKAN_HPP_INLINE Result PhysicalDevice::releaseDisplayEXT( DisplayKHR display, Dispatch const &d) const
37140  {
37141  return static_cast<Result>( d.vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( display ) ) );
37142  }
37143 #else
37144  template<typename Dispatch>
37146  {
37147  Result result = static_cast<Result>( d.vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( display ) ) );
37148  return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::releaseDisplayEXT" );
37149  }
37150 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37151 
37152 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
37153  template<typename Dispatch>
37154  VULKAN_HPP_INLINE Result PhysicalDevice::acquireXlibDisplayEXT( Display* dpy, DisplayKHR display, Dispatch const &d) const
37155  {
37156  return static_cast<Result>( d.vkAcquireXlibDisplayEXT( m_physicalDevice, dpy, static_cast<VkDisplayKHR>( display ) ) );
37157  }
37158 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37159  template<typename Dispatch>
37160  VULKAN_HPP_INLINE ResultValueType<Display>::type PhysicalDevice::acquireXlibDisplayEXT( DisplayKHR display, Dispatch const &d ) const
37161  {
37162  Display dpy;
37163  Result result = static_cast<Result>( d.vkAcquireXlibDisplayEXT( m_physicalDevice, &dpy, static_cast<VkDisplayKHR>( display ) ) );
37164  return createResultValue( result, dpy, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::acquireXlibDisplayEXT" );
37165  }
37166 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37167 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
37168 
37169 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
37170  template<typename Dispatch>
37171  VULKAN_HPP_INLINE Result PhysicalDevice::getRandROutputDisplayEXT( Display* dpy, RROutput rrOutput, DisplayKHR* pDisplay, Dispatch const &d) const
37172  {
37173  return static_cast<Result>( d.vkGetRandROutputDisplayEXT( m_physicalDevice, dpy, rrOutput, reinterpret_cast<VkDisplayKHR*>( pDisplay ) ) );
37174  }
37175 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37176  template<typename Dispatch>
37177  VULKAN_HPP_INLINE ResultValueType<DisplayKHR>::type PhysicalDevice::getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput, Dispatch const &d ) const
37178  {
37179  DisplayKHR display;
37180  Result result = static_cast<Result>( d.vkGetRandROutputDisplayEXT( m_physicalDevice, &dpy, rrOutput, reinterpret_cast<VkDisplayKHR*>( &display ) ) );
37181  return createResultValue( result, display, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getRandROutputDisplayEXT" );
37182  }
37183 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37184 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
37185 
37186  template<typename Dispatch>
37188  {
37189  return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkSurfaceCapabilities2EXT*>( pSurfaceCapabilities ) ) );
37190  }
37191 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37192  template<typename Dispatch>
37194  {
37195  SurfaceCapabilities2EXT surfaceCapabilities;
37196  Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkSurfaceCapabilities2EXT*>( &surfaceCapabilities ) ) );
37197  return createResultValue( result, surfaceCapabilities, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getSurfaceCapabilities2EXT" );
37198  }
37199 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37200 
37201  template<typename Dispatch>
37202  VULKAN_HPP_INLINE Result PhysicalDevice::getPresentRectanglesKHR( SurfaceKHR surface, uint32_t* pRectCount, Rect2D* pRects, Dispatch const &d) const
37203  {
37204  return static_cast<Result>( d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), pRectCount, reinterpret_cast<VkRect2D*>( pRects ) ) );
37205  }
37206 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37207  template <typename Allocator, typename Dispatch>
37209  {
37210  std::vector<Rect2D,Allocator> rects;
37211  uint32_t rectCount;
37212  Result result;
37213  do
37214  {
37215  result = static_cast<Result>( d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &rectCount, nullptr ) );
37216  if ( ( result == Result::eSuccess ) && rectCount )
37217  {
37218  rects.resize( rectCount );
37219  result = static_cast<Result>( d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice, static_cast<VkSurfaceKHR>( surface ), &rectCount, reinterpret_cast<VkRect2D*>( rects.data() ) ) );
37220  }
37221  } while ( result == Result::eIncomplete );
37222  VULKAN_HPP_ASSERT( rectCount <= rects.size() );
37223  rects.resize( rectCount );
37224  return createResultValue( result, rects, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getPresentRectanglesKHR" );
37225  }
37226 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37227 
37228  template<typename Dispatch>
37230  {
37231  d.vkGetPhysicalDeviceMultisamplePropertiesEXT( m_physicalDevice, static_cast<VkSampleCountFlagBits>( samples ), reinterpret_cast<VkMultisamplePropertiesEXT*>( pMultisampleProperties ) );
37232  }
37233 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37234  template<typename Dispatch>
37236  {
37237  MultisamplePropertiesEXT multisampleProperties;
37238  d.vkGetPhysicalDeviceMultisamplePropertiesEXT( m_physicalDevice, static_cast<VkSampleCountFlagBits>( samples ), reinterpret_cast<VkMultisamplePropertiesEXT*>( &multisampleProperties ) );
37239  return multisampleProperties;
37240  }
37241 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37242 
37243  template<typename Dispatch>
37245  {
37246  return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR*>( pSurfaceInfo ), reinterpret_cast<VkSurfaceCapabilities2KHR*>( pSurfaceCapabilities ) ) );
37247  }
37248 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37249  template<typename Dispatch>
37251  {
37252  SurfaceCapabilities2KHR surfaceCapabilities;
37253  Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR*>( &surfaceInfo ), reinterpret_cast<VkSurfaceCapabilities2KHR*>( &surfaceCapabilities ) ) );
37254  return createResultValue( result, surfaceCapabilities, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getSurfaceCapabilities2KHR" );
37255  }
37256  template <typename ...T, typename Dispatch>
37258  {
37259  StructureChain<T...> structureChain;
37260  SurfaceCapabilities2KHR& surfaceCapabilities = structureChain.template get<SurfaceCapabilities2KHR>();
37261  Result result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR*>( &surfaceInfo ), reinterpret_cast<VkSurfaceCapabilities2KHR*>( &surfaceCapabilities ) ) );
37262  return createResultValue( result, structureChain, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getSurfaceCapabilities2KHR" );
37263  }
37264 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37265 
37266  template<typename Dispatch>
37267  VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceFormats2KHR( const PhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, SurfaceFormat2KHR* pSurfaceFormats, Dispatch const &d) const
37268  {
37269  return static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR*>( pSurfaceInfo ), pSurfaceFormatCount, reinterpret_cast<VkSurfaceFormat2KHR*>( pSurfaceFormats ) ) );
37270  }
37271 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37272  template <typename Allocator, typename Dispatch>
37274  {
37275  std::vector<SurfaceFormat2KHR,Allocator> surfaceFormats;
37276  uint32_t surfaceFormatCount;
37277  Result result;
37278  do
37279  {
37280  result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR*>( &surfaceInfo ), &surfaceFormatCount, nullptr ) );
37281  if ( ( result == Result::eSuccess ) && surfaceFormatCount )
37282  {
37283  surfaceFormats.resize( surfaceFormatCount );
37284  result = static_cast<Result>( d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR*>( &surfaceInfo ), &surfaceFormatCount, reinterpret_cast<VkSurfaceFormat2KHR*>( surfaceFormats.data() ) ) );
37285  }
37286  } while ( result == Result::eIncomplete );
37287  VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() );
37288  surfaceFormats.resize( surfaceFormatCount );
37289  return createResultValue( result, surfaceFormats, VULKAN_HPP_NAMESPACE_STRING"::PhysicalDevice::getSurfaceFormats2KHR" );
37290  }
37291 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37292 
37294  {
37295  CmdProcessCommandsInfoNVX( ObjectTableNVX objectTable_ = ObjectTableNVX(), IndirectCommandsLayoutNVX indirectCommandsLayout_ = IndirectCommandsLayoutNVX(), uint32_t indirectCommandsTokenCount_ = 0, const IndirectCommandsTokenNVX* pIndirectCommandsTokens_ = nullptr, uint32_t maxSequencesCount_ = 0, CommandBuffer targetCommandBuffer_ = CommandBuffer(), Buffer sequencesCountBuffer_ = Buffer(), DeviceSize sequencesCountOffset_ = 0, Buffer sequencesIndexBuffer_ = Buffer(), DeviceSize sequencesIndexOffset_ = 0 )
37296  : objectTable( objectTable_ )
37297  , indirectCommandsLayout( indirectCommandsLayout_ )
37298  , indirectCommandsTokenCount( indirectCommandsTokenCount_ )
37299  , pIndirectCommandsTokens( pIndirectCommandsTokens_ )
37300  , maxSequencesCount( maxSequencesCount_ )
37301  , targetCommandBuffer( targetCommandBuffer_ )
37302  , sequencesCountBuffer( sequencesCountBuffer_ )
37303  , sequencesCountOffset( sequencesCountOffset_ )
37304  , sequencesIndexBuffer( sequencesIndexBuffer_ )
37305  , sequencesIndexOffset( sequencesIndexOffset_ )
37306  {
37307  }
37308 
37310  {
37311  memcpy( this, &rhs, sizeof( CmdProcessCommandsInfoNVX ) );
37312  }
37313 
37315  {
37316  memcpy( this, &rhs, sizeof( CmdProcessCommandsInfoNVX ) );
37317  return *this;
37318  }
37319  CmdProcessCommandsInfoNVX& setPNext( const void* pNext_ )
37320  {
37321  pNext = pNext_;
37322  return *this;
37323  }
37324 
37326  {
37327  objectTable = objectTable_;
37328  return *this;
37329  }
37330 
37332  {
37333  indirectCommandsLayout = indirectCommandsLayout_;
37334  return *this;
37335  }
37336 
37338  {
37339  indirectCommandsTokenCount = indirectCommandsTokenCount_;
37340  return *this;
37341  }
37342 
37344  {
37345  pIndirectCommandsTokens = pIndirectCommandsTokens_;
37346  return *this;
37347  }
37348 
37350  {
37351  maxSequencesCount = maxSequencesCount_;
37352  return *this;
37353  }
37354 
37356  {
37357  targetCommandBuffer = targetCommandBuffer_;
37358  return *this;
37359  }
37360 
37362  {
37363  sequencesCountBuffer = sequencesCountBuffer_;
37364  return *this;
37365  }
37366 
37368  {
37369  sequencesCountOffset = sequencesCountOffset_;
37370  return *this;
37371  }
37372 
37374  {
37375  sequencesIndexBuffer = sequencesIndexBuffer_;
37376  return *this;
37377  }
37378 
37380  {
37381  sequencesIndexOffset = sequencesIndexOffset_;
37382  return *this;
37383  }
37384 
37385  operator const VkCmdProcessCommandsInfoNVX&() const
37386  {
37387  return *reinterpret_cast<const VkCmdProcessCommandsInfoNVX*>(this);
37388  }
37389 
37390  bool operator==( CmdProcessCommandsInfoNVX const& rhs ) const
37391  {
37392  return ( sType == rhs.sType )
37393  && ( pNext == rhs.pNext )
37394  && ( objectTable == rhs.objectTable )
37398  && ( maxSequencesCount == rhs.maxSequencesCount )
37404  }
37405 
37406  bool operator!=( CmdProcessCommandsInfoNVX const& rhs ) const
37407  {
37408  return !operator==( rhs );
37409  }
37410 
37411  private:
37413 
37414  public:
37415  const void* pNext = nullptr;
37426  };
37427  static_assert( sizeof( CmdProcessCommandsInfoNVX ) == sizeof( VkCmdProcessCommandsInfoNVX ), "struct and wrapper have different size!" );
37428 
37430  {
37431  operator const VkPhysicalDeviceGroupProperties&() const
37432  {
37433  return *reinterpret_cast<const VkPhysicalDeviceGroupProperties*>(this);
37434  }
37435 
37437  {
37438  return ( sType == rhs.sType )
37439  && ( pNext == rhs.pNext )
37442  && ( subsetAllocation == rhs.subsetAllocation );
37443  }
37444 
37446  {
37447  return !operator==( rhs );
37448  }
37449 
37450  private:
37452 
37453  public:
37454  void* pNext = nullptr;
37458  };
37459  static_assert( sizeof( PhysicalDeviceGroupProperties ) == sizeof( VkPhysicalDeviceGroupProperties ), "struct and wrapper have different size!" );
37460 
37462 
37463 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37464  class Instance;
37465 
37470  template <> class UniqueHandleTraits<SurfaceKHR> {public: using deleter = ObjectDestroy<Instance>; };
37472 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37473 
37474  class Instance
37475  {
37476  public:
37479  {}
37480 
37481  VULKAN_HPP_CONSTEXPR Instance( std::nullptr_t )
37483  {}
37484 
37486  : m_instance( instance )
37487  {}
37488 
37489 #if defined(VULKAN_HPP_TYPESAFE_CONVERSION)
37490  Instance & operator=(VkInstance instance)
37491  {
37492  m_instance = instance;
37493  return *this;
37494  }
37495 #endif
37496 
37497  Instance & operator=( std::nullptr_t )
37498  {
37500  return *this;
37501  }
37502 
37503  bool operator==( Instance const & rhs ) const
37504  {
37505  return m_instance == rhs.m_instance;
37506  }
37507 
37508  bool operator!=(Instance const & rhs ) const
37509  {
37510  return m_instance != rhs.m_instance;
37511  }
37512 
37513  bool operator<(Instance const & rhs ) const
37514  {
37515  return m_instance < rhs.m_instance;
37516  }
37517 
37518  template<typename Dispatch = DispatchLoaderStatic>
37519  void destroy( const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
37520 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37521  template<typename Dispatch = DispatchLoaderStatic>
37522  void destroy( Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37523 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37524 
37525  template<typename Dispatch = DispatchLoaderStatic>
37526  Result enumeratePhysicalDevices( uint32_t* pPhysicalDeviceCount, PhysicalDevice* pPhysicalDevices, Dispatch const &d = Dispatch() ) const;
37527 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37528  template <typename Allocator = std::allocator<PhysicalDevice>, typename Dispatch = DispatchLoaderStatic>
37529  typename ResultValueType<std::vector<PhysicalDevice,Allocator>>::type enumeratePhysicalDevices(Dispatch const &d = Dispatch() ) const;
37530 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37531 
37532  template<typename Dispatch = DispatchLoaderStatic>
37533  PFN_vkVoidFunction getProcAddr( const char* pName, Dispatch const &d = Dispatch() ) const;
37534 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37535  template<typename Dispatch = DispatchLoaderStatic>
37536  PFN_vkVoidFunction getProcAddr( const std::string & name, Dispatch const &d = Dispatch() ) const;
37537 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37538 
37539 #ifdef VK_USE_PLATFORM_ANDROID_KHR
37540  template<typename Dispatch = DispatchLoaderStatic>
37541  Result createAndroidSurfaceKHR( const AndroidSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37542 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37543  template<typename Dispatch = DispatchLoaderStatic>
37544  ResultValueType<SurfaceKHR>::type createAndroidSurfaceKHR( const AndroidSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37545 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37546  template<typename Dispatch = DispatchLoaderStatic>
37547  ResultValueType<UniqueSurfaceKHR>::type createAndroidSurfaceKHRUnique( const AndroidSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37548 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37549 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37550 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
37551 
37552  template<typename Dispatch = DispatchLoaderStatic>
37553  Result createDisplayPlaneSurfaceKHR( const DisplaySurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37554 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37555  template<typename Dispatch = DispatchLoaderStatic>
37556  ResultValueType<SurfaceKHR>::type createDisplayPlaneSurfaceKHR( const DisplaySurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37557 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37558  template<typename Dispatch = DispatchLoaderStatic>
37559  ResultValueType<UniqueSurfaceKHR>::type createDisplayPlaneSurfaceKHRUnique( const DisplaySurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37560 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37561 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37562 
37563 #ifdef VK_USE_PLATFORM_MIR_KHR
37564  template<typename Dispatch = DispatchLoaderStatic>
37565  Result createMirSurfaceKHR( const MirSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37566 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37567  template<typename Dispatch = DispatchLoaderStatic>
37568  ResultValueType<SurfaceKHR>::type createMirSurfaceKHR( const MirSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37569 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37570  template<typename Dispatch = DispatchLoaderStatic>
37571  ResultValueType<UniqueSurfaceKHR>::type createMirSurfaceKHRUnique( const MirSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37572 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37573 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37574 #endif /*VK_USE_PLATFORM_MIR_KHR*/
37575 
37576  template<typename Dispatch = DispatchLoaderStatic>
37577  void destroySurfaceKHR( SurfaceKHR surface, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
37578 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37579  template<typename Dispatch = DispatchLoaderStatic>
37580  void destroySurfaceKHR( SurfaceKHR surface, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37581 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37582 
37583  template<typename Dispatch = DispatchLoaderStatic>
37584  void destroy( SurfaceKHR surface, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
37585 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37586  template<typename Dispatch = DispatchLoaderStatic>
37587  void destroy( SurfaceKHR surface, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37588 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37589 
37590 #ifdef VK_USE_PLATFORM_VI_NN
37591  template<typename Dispatch = DispatchLoaderStatic>
37592  Result createViSurfaceNN( const ViSurfaceCreateInfoNN* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37593 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37594  template<typename Dispatch = DispatchLoaderStatic>
37595  ResultValueType<SurfaceKHR>::type createViSurfaceNN( const ViSurfaceCreateInfoNN & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37596 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37597  template<typename Dispatch = DispatchLoaderStatic>
37598  ResultValueType<UniqueSurfaceKHR>::type createViSurfaceNNUnique( const ViSurfaceCreateInfoNN & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37599 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37600 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37601 #endif /*VK_USE_PLATFORM_VI_NN*/
37602 
37603 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
37604  template<typename Dispatch = DispatchLoaderStatic>
37605  Result createWaylandSurfaceKHR( const WaylandSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37606 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37607  template<typename Dispatch = DispatchLoaderStatic>
37608  ResultValueType<SurfaceKHR>::type createWaylandSurfaceKHR( const WaylandSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37609 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37610  template<typename Dispatch = DispatchLoaderStatic>
37611  ResultValueType<UniqueSurfaceKHR>::type createWaylandSurfaceKHRUnique( const WaylandSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37612 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37613 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37614 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
37615 
37616 #ifdef VK_USE_PLATFORM_WIN32_KHR
37617  template<typename Dispatch = DispatchLoaderStatic>
37618  Result createWin32SurfaceKHR( const Win32SurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37619 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37620  template<typename Dispatch = DispatchLoaderStatic>
37621  ResultValueType<SurfaceKHR>::type createWin32SurfaceKHR( const Win32SurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37622 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37623  template<typename Dispatch = DispatchLoaderStatic>
37624  ResultValueType<UniqueSurfaceKHR>::type createWin32SurfaceKHRUnique( const Win32SurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37625 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37626 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37627 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
37628 
37629 #ifdef VK_USE_PLATFORM_XLIB_KHR
37630  template<typename Dispatch = DispatchLoaderStatic>
37631  Result createXlibSurfaceKHR( const XlibSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37632 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37633  template<typename Dispatch = DispatchLoaderStatic>
37634  ResultValueType<SurfaceKHR>::type createXlibSurfaceKHR( const XlibSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37635 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37636  template<typename Dispatch = DispatchLoaderStatic>
37637  ResultValueType<UniqueSurfaceKHR>::type createXlibSurfaceKHRUnique( const XlibSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37638 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37639 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37640 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
37641 
37642 #ifdef VK_USE_PLATFORM_XCB_KHR
37643  template<typename Dispatch = DispatchLoaderStatic>
37644  Result createXcbSurfaceKHR( const XcbSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37645 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37646  template<typename Dispatch = DispatchLoaderStatic>
37647  ResultValueType<SurfaceKHR>::type createXcbSurfaceKHR( const XcbSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37648 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37649  template<typename Dispatch = DispatchLoaderStatic>
37650  ResultValueType<UniqueSurfaceKHR>::type createXcbSurfaceKHRUnique( const XcbSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37651 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37652 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37653 #endif /*VK_USE_PLATFORM_XCB_KHR*/
37654 
37655  template<typename Dispatch = DispatchLoaderStatic>
37656  Result createDebugReportCallbackEXT( const DebugReportCallbackCreateInfoEXT* pCreateInfo, const AllocationCallbacks* pAllocator, DebugReportCallbackEXT* pCallback, Dispatch const &d = Dispatch() ) const;
37657 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37658  template<typename Dispatch = DispatchLoaderStatic>
37660 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37661  template<typename Dispatch = DispatchLoaderStatic>
37663 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37664 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37665 
37666  template<typename Dispatch = DispatchLoaderStatic>
37667  void destroyDebugReportCallbackEXT( DebugReportCallbackEXT callback, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
37668 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37669  template<typename Dispatch = DispatchLoaderStatic>
37670  void destroyDebugReportCallbackEXT( DebugReportCallbackEXT callback, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37671 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37672 
37673  template<typename Dispatch = DispatchLoaderStatic>
37674  void destroy( DebugReportCallbackEXT callback, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
37675 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37676  template<typename Dispatch = DispatchLoaderStatic>
37677  void destroy( DebugReportCallbackEXT callback, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37678 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37679 
37680  template<typename Dispatch = DispatchLoaderStatic>
37681  void debugReportMessageEXT( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage, Dispatch const &d = Dispatch() ) const;
37682 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37683  template<typename Dispatch = DispatchLoaderStatic>
37684  void debugReportMessageEXT( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const std::string & layerPrefix, const std::string & message, Dispatch const &d = Dispatch() ) const;
37685 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37686 
37687  template<typename Dispatch = DispatchLoaderStatic>
37688  Result enumeratePhysicalDeviceGroups( uint32_t* pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, Dispatch const &d = Dispatch() ) const;
37689 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37690  template <typename Allocator = std::allocator<PhysicalDeviceGroupProperties>, typename Dispatch = DispatchLoaderStatic>
37692 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37693 
37694  template<typename Dispatch = DispatchLoaderStatic>
37695  Result enumeratePhysicalDeviceGroupsKHR( uint32_t* pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, Dispatch const &d = Dispatch() ) const;
37696 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37697  template <typename Allocator = std::allocator<PhysicalDeviceGroupProperties>, typename Dispatch = DispatchLoaderStatic>
37699 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37700 
37701 #ifdef VK_USE_PLATFORM_IOS_MVK
37702  template<typename Dispatch = DispatchLoaderStatic>
37703  Result createIOSSurfaceMVK( const IOSSurfaceCreateInfoMVK* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37704 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37705  template<typename Dispatch = DispatchLoaderStatic>
37706  ResultValueType<SurfaceKHR>::type createIOSSurfaceMVK( const IOSSurfaceCreateInfoMVK & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37707 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37708  template<typename Dispatch = DispatchLoaderStatic>
37709  ResultValueType<UniqueSurfaceKHR>::type createIOSSurfaceMVKUnique( const IOSSurfaceCreateInfoMVK & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37710 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37711 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37712 #endif /*VK_USE_PLATFORM_IOS_MVK*/
37713 
37714 #ifdef VK_USE_PLATFORM_MACOS_MVK
37715  template<typename Dispatch = DispatchLoaderStatic>
37716  Result createMacOSSurfaceMVK( const MacOSSurfaceCreateInfoMVK* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d = Dispatch() ) const;
37717 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37718  template<typename Dispatch = DispatchLoaderStatic>
37719  ResultValueType<SurfaceKHR>::type createMacOSSurfaceMVK( const MacOSSurfaceCreateInfoMVK & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37720 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37721  template<typename Dispatch = DispatchLoaderStatic>
37722  ResultValueType<UniqueSurfaceKHR>::type createMacOSSurfaceMVKUnique( const MacOSSurfaceCreateInfoMVK & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37723 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37724 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37725 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
37726 
37727  template<typename Dispatch = DispatchLoaderStatic>
37728  Result createDebugUtilsMessengerEXT( const DebugUtilsMessengerCreateInfoEXT* pCreateInfo, const AllocationCallbacks* pAllocator, DebugUtilsMessengerEXT* pMessenger, Dispatch const &d = Dispatch() ) const;
37729 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37730  template<typename Dispatch = DispatchLoaderStatic>
37732 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37733  template<typename Dispatch = DispatchLoaderStatic>
37735 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37736 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37737 
37738  template<typename Dispatch = DispatchLoaderStatic>
37739  void destroyDebugUtilsMessengerEXT( DebugUtilsMessengerEXT messenger, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
37740 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37741  template<typename Dispatch = DispatchLoaderStatic>
37742  void destroyDebugUtilsMessengerEXT( DebugUtilsMessengerEXT messenger, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37743 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37744 
37745  template<typename Dispatch = DispatchLoaderStatic>
37746  void destroy( DebugUtilsMessengerEXT messenger, const AllocationCallbacks* pAllocator, Dispatch const &d = Dispatch() ) const;
37747 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37748  template<typename Dispatch = DispatchLoaderStatic>
37749  void destroy( DebugUtilsMessengerEXT messenger, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() ) const;
37750 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37751 
37752  template<typename Dispatch = DispatchLoaderStatic>
37753  void submitDebugUtilsMessageEXT( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageTypes, const DebugUtilsMessengerCallbackDataEXT* pCallbackData, Dispatch const &d = Dispatch() ) const;
37754 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37755  template<typename Dispatch = DispatchLoaderStatic>
37756  void submitDebugUtilsMessageEXT( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageTypes, const DebugUtilsMessengerCallbackDataEXT & callbackData, Dispatch const &d = Dispatch() ) const;
37757 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37758 
37759 
37760 
37761  VULKAN_HPP_TYPESAFE_EXPLICIT operator VkInstance() const
37762  {
37763  return m_instance;
37764  }
37765 
37766  explicit operator bool() const
37767  {
37768  return m_instance != VK_NULL_HANDLE;
37769  }
37770 
37771  bool operator!() const
37772  {
37773  return m_instance == VK_NULL_HANDLE;
37774  }
37775 
37776  private:
37777  VkInstance m_instance;
37778  };
37779 
37780  static_assert( sizeof( Instance ) == sizeof( VkInstance ), "handle and wrapper have different size!" );
37781 
37782  template<typename Dispatch>
37783  VULKAN_HPP_INLINE void Instance::destroy( const AllocationCallbacks* pAllocator, Dispatch const &d) const
37784  {
37785  d.vkDestroyInstance( m_instance, reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
37786  }
37787 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37788  template<typename Dispatch>
37790  {
37791  d.vkDestroyInstance( m_instance, reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
37792  }
37793 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37794 
37795  template<typename Dispatch>
37796  VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDevices( uint32_t* pPhysicalDeviceCount, PhysicalDevice* pPhysicalDevices, Dispatch const &d) const
37797  {
37798  return static_cast<Result>( d.vkEnumeratePhysicalDevices( m_instance, pPhysicalDeviceCount, reinterpret_cast<VkPhysicalDevice*>( pPhysicalDevices ) ) );
37799  }
37800 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37801  template <typename Allocator, typename Dispatch>
37803  {
37804  std::vector<PhysicalDevice,Allocator> physicalDevices;
37805  uint32_t physicalDeviceCount;
37806  Result result;
37807  do
37808  {
37809  result = static_cast<Result>( d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, nullptr ) );
37810  if ( ( result == Result::eSuccess ) && physicalDeviceCount )
37811  {
37812  physicalDevices.resize( physicalDeviceCount );
37813  result = static_cast<Result>( d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, reinterpret_cast<VkPhysicalDevice*>( physicalDevices.data() ) ) );
37814  }
37815  } while ( result == Result::eIncomplete );
37816  VULKAN_HPP_ASSERT( physicalDeviceCount <= physicalDevices.size() );
37817  physicalDevices.resize( physicalDeviceCount );
37818  return createResultValue( result, physicalDevices, VULKAN_HPP_NAMESPACE_STRING"::Instance::enumeratePhysicalDevices" );
37819  }
37820 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37821 
37822  template<typename Dispatch>
37823  VULKAN_HPP_INLINE PFN_vkVoidFunction Instance::getProcAddr( const char* pName, Dispatch const &d) const
37824  {
37825  return d.vkGetInstanceProcAddr( m_instance, pName );
37826  }
37827 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37828  template<typename Dispatch>
37830  {
37831  return d.vkGetInstanceProcAddr( m_instance, name.c_str() );
37832  }
37833 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37834 
37835 #ifdef VK_USE_PLATFORM_ANDROID_KHR
37836  template<typename Dispatch>
37837  VULKAN_HPP_INLINE Result Instance::createAndroidSurfaceKHR( const AndroidSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
37838  {
37839  return static_cast<Result>( d.vkCreateAndroidSurfaceKHR( m_instance, reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
37840  }
37841 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37842  template<typename Dispatch>
37843  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createAndroidSurfaceKHR( const AndroidSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37844  {
37845  SurfaceKHR surface;
37846  Result result = static_cast<Result>( d.vkCreateAndroidSurfaceKHR( m_instance, reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37847  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createAndroidSurfaceKHR" );
37848  }
37849 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37850  template<typename Dispatch>
37851  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createAndroidSurfaceKHRUnique( const AndroidSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37852  {
37853  SurfaceKHR surface;
37854  Result result = static_cast<Result>( d.vkCreateAndroidSurfaceKHR( m_instance, reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37855 
37856  ObjectDestroy<Instance> deleter( *this, allocator );
37857  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createAndroidSurfaceKHRUnique", deleter );
37858  }
37859 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37860 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37861 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
37862 
37863  template<typename Dispatch>
37864  VULKAN_HPP_INLINE Result Instance::createDisplayPlaneSurfaceKHR( const DisplaySurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
37865  {
37866  return static_cast<Result>( d.vkCreateDisplayPlaneSurfaceKHR( m_instance, reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
37867  }
37868 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37869  template<typename Dispatch>
37871  {
37872  SurfaceKHR surface;
37873  Result result = static_cast<Result>( d.vkCreateDisplayPlaneSurfaceKHR( m_instance, reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37874  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createDisplayPlaneSurfaceKHR" );
37875  }
37876 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37877  template<typename Dispatch>
37879  {
37880  SurfaceKHR surface;
37881  Result result = static_cast<Result>( d.vkCreateDisplayPlaneSurfaceKHR( m_instance, reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37882 
37883  ObjectDestroy<Instance> deleter( *this, allocator );
37884  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createDisplayPlaneSurfaceKHRUnique", deleter );
37885  }
37886 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37887 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37888 
37889 #ifdef VK_USE_PLATFORM_MIR_KHR
37890  template<typename Dispatch>
37891  VULKAN_HPP_INLINE Result Instance::createMirSurfaceKHR( const MirSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
37892  {
37893  return static_cast<Result>( d.vkCreateMirSurfaceKHR( m_instance, reinterpret_cast<const VkMirSurfaceCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
37894  }
37895 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37896  template<typename Dispatch>
37897  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createMirSurfaceKHR( const MirSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37898  {
37899  SurfaceKHR surface;
37900  Result result = static_cast<Result>( d.vkCreateMirSurfaceKHR( m_instance, reinterpret_cast<const VkMirSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37901  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createMirSurfaceKHR" );
37902  }
37903 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37904  template<typename Dispatch>
37905  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createMirSurfaceKHRUnique( const MirSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37906  {
37907  SurfaceKHR surface;
37908  Result result = static_cast<Result>( d.vkCreateMirSurfaceKHR( m_instance, reinterpret_cast<const VkMirSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37909 
37910  ObjectDestroy<Instance> deleter( *this, allocator );
37911  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createMirSurfaceKHRUnique", deleter );
37912  }
37913 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37914 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37915 #endif /*VK_USE_PLATFORM_MIR_KHR*/
37916 
37917  template<typename Dispatch>
37918  VULKAN_HPP_INLINE void Instance::destroySurfaceKHR( SurfaceKHR surface, const AllocationCallbacks* pAllocator, Dispatch const &d) const
37919  {
37920  d.vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
37921  }
37922 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37923  template<typename Dispatch>
37925  {
37926  d.vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
37927  }
37928 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37929 
37930  template<typename Dispatch>
37931  VULKAN_HPP_INLINE void Instance::destroy( SurfaceKHR surface, const AllocationCallbacks* pAllocator, Dispatch const &d) const
37932  {
37933  d.vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
37934  }
37935 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37936  template<typename Dispatch>
37937  VULKAN_HPP_INLINE void Instance::destroy( SurfaceKHR surface, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37938  {
37939  d.vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
37940  }
37941 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37942 
37943 #ifdef VK_USE_PLATFORM_VI_NN
37944  template<typename Dispatch>
37945  VULKAN_HPP_INLINE Result Instance::createViSurfaceNN( const ViSurfaceCreateInfoNN* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
37946  {
37947  return static_cast<Result>( d.vkCreateViSurfaceNN( m_instance, reinterpret_cast<const VkViSurfaceCreateInfoNN*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
37948  }
37949 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37950  template<typename Dispatch>
37951  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createViSurfaceNN( const ViSurfaceCreateInfoNN & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37952  {
37953  SurfaceKHR surface;
37954  Result result = static_cast<Result>( d.vkCreateViSurfaceNN( m_instance, reinterpret_cast<const VkViSurfaceCreateInfoNN*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37955  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createViSurfaceNN" );
37956  }
37957 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37958  template<typename Dispatch>
37959  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createViSurfaceNNUnique( const ViSurfaceCreateInfoNN & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37960  {
37961  SurfaceKHR surface;
37962  Result result = static_cast<Result>( d.vkCreateViSurfaceNN( m_instance, reinterpret_cast<const VkViSurfaceCreateInfoNN*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37963 
37964  ObjectDestroy<Instance> deleter( *this, allocator );
37965  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createViSurfaceNNUnique", deleter );
37966  }
37967 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37968 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37969 #endif /*VK_USE_PLATFORM_VI_NN*/
37970 
37971 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
37972  template<typename Dispatch>
37973  VULKAN_HPP_INLINE Result Instance::createWaylandSurfaceKHR( const WaylandSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
37974  {
37975  return static_cast<Result>( d.vkCreateWaylandSurfaceKHR( m_instance, reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
37976  }
37977 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
37978  template<typename Dispatch>
37979  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createWaylandSurfaceKHR( const WaylandSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37980  {
37981  SurfaceKHR surface;
37982  Result result = static_cast<Result>( d.vkCreateWaylandSurfaceKHR( m_instance, reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37983  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createWaylandSurfaceKHR" );
37984  }
37985 #ifndef VULKAN_HPP_NO_SMART_HANDLE
37986  template<typename Dispatch>
37987  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createWaylandSurfaceKHRUnique( const WaylandSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
37988  {
37989  SurfaceKHR surface;
37990  Result result = static_cast<Result>( d.vkCreateWaylandSurfaceKHR( m_instance, reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
37991 
37992  ObjectDestroy<Instance> deleter( *this, allocator );
37993  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createWaylandSurfaceKHRUnique", deleter );
37994  }
37995 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
37996 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37997 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
37998 
37999 #ifdef VK_USE_PLATFORM_WIN32_KHR
38000  template<typename Dispatch>
38001  VULKAN_HPP_INLINE Result Instance::createWin32SurfaceKHR( const Win32SurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
38002  {
38003  return static_cast<Result>( d.vkCreateWin32SurfaceKHR( m_instance, reinterpret_cast<const VkWin32SurfaceCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
38004  }
38005 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38006  template<typename Dispatch>
38007  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createWin32SurfaceKHR( const Win32SurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38008  {
38009  SurfaceKHR surface;
38010  Result result = static_cast<Result>( d.vkCreateWin32SurfaceKHR( m_instance, reinterpret_cast<const VkWin32SurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38011  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createWin32SurfaceKHR" );
38012  }
38013 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38014  template<typename Dispatch>
38015  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createWin32SurfaceKHRUnique( const Win32SurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38016  {
38017  SurfaceKHR surface;
38018  Result result = static_cast<Result>( d.vkCreateWin32SurfaceKHR( m_instance, reinterpret_cast<const VkWin32SurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38019 
38020  ObjectDestroy<Instance> deleter( *this, allocator );
38021  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createWin32SurfaceKHRUnique", deleter );
38022  }
38023 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38024 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38025 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38026 
38027 #ifdef VK_USE_PLATFORM_XLIB_KHR
38028  template<typename Dispatch>
38029  VULKAN_HPP_INLINE Result Instance::createXlibSurfaceKHR( const XlibSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
38030  {
38031  return static_cast<Result>( d.vkCreateXlibSurfaceKHR( m_instance, reinterpret_cast<const VkXlibSurfaceCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
38032  }
38033 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38034  template<typename Dispatch>
38035  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createXlibSurfaceKHR( const XlibSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38036  {
38037  SurfaceKHR surface;
38038  Result result = static_cast<Result>( d.vkCreateXlibSurfaceKHR( m_instance, reinterpret_cast<const VkXlibSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38039  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createXlibSurfaceKHR" );
38040  }
38041 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38042  template<typename Dispatch>
38043  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createXlibSurfaceKHRUnique( const XlibSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38044  {
38045  SurfaceKHR surface;
38046  Result result = static_cast<Result>( d.vkCreateXlibSurfaceKHR( m_instance, reinterpret_cast<const VkXlibSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38047 
38048  ObjectDestroy<Instance> deleter( *this, allocator );
38049  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createXlibSurfaceKHRUnique", deleter );
38050  }
38051 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38052 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38053 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
38054 
38055 #ifdef VK_USE_PLATFORM_XCB_KHR
38056  template<typename Dispatch>
38057  VULKAN_HPP_INLINE Result Instance::createXcbSurfaceKHR( const XcbSurfaceCreateInfoKHR* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
38058  {
38059  return static_cast<Result>( d.vkCreateXcbSurfaceKHR( m_instance, reinterpret_cast<const VkXcbSurfaceCreateInfoKHR*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
38060  }
38061 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38062  template<typename Dispatch>
38063  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createXcbSurfaceKHR( const XcbSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38064  {
38065  SurfaceKHR surface;
38066  Result result = static_cast<Result>( d.vkCreateXcbSurfaceKHR( m_instance, reinterpret_cast<const VkXcbSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38067  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createXcbSurfaceKHR" );
38068  }
38069 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38070  template<typename Dispatch>
38071  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createXcbSurfaceKHRUnique( const XcbSurfaceCreateInfoKHR & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38072  {
38073  SurfaceKHR surface;
38074  Result result = static_cast<Result>( d.vkCreateXcbSurfaceKHR( m_instance, reinterpret_cast<const VkXcbSurfaceCreateInfoKHR*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38075 
38076  ObjectDestroy<Instance> deleter( *this, allocator );
38077  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createXcbSurfaceKHRUnique", deleter );
38078  }
38079 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38080 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38081 #endif /*VK_USE_PLATFORM_XCB_KHR*/
38082 
38083  template<typename Dispatch>
38085  {
38086  return static_cast<Result>( d.vkCreateDebugReportCallbackEXT( m_instance, reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDebugReportCallbackEXT*>( pCallback ) ) );
38087  }
38088 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38089  template<typename Dispatch>
38091  {
38093  Result result = static_cast<Result>( d.vkCreateDebugReportCallbackEXT( m_instance, reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDebugReportCallbackEXT*>( &callback ) ) );
38094  return createResultValue( result, callback, VULKAN_HPP_NAMESPACE_STRING"::Instance::createDebugReportCallbackEXT" );
38095  }
38096 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38097  template<typename Dispatch>
38099  {
38101  Result result = static_cast<Result>( d.vkCreateDebugReportCallbackEXT( m_instance, reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDebugReportCallbackEXT*>( &callback ) ) );
38102 
38103  ObjectDestroy<Instance> deleter( *this, allocator );
38104  return createResultValue( result, callback, VULKAN_HPP_NAMESPACE_STRING"::Instance::createDebugReportCallbackEXTUnique", deleter );
38105  }
38106 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38107 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38108 
38109  template<typename Dispatch>
38111  {
38112  d.vkDestroyDebugReportCallbackEXT( m_instance, static_cast<VkDebugReportCallbackEXT>( callback ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
38113  }
38114 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38115  template<typename Dispatch>
38117  {
38118  d.vkDestroyDebugReportCallbackEXT( m_instance, static_cast<VkDebugReportCallbackEXT>( callback ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
38119  }
38120 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38121 
38122  template<typename Dispatch>
38124  {
38125  d.vkDestroyDebugReportCallbackEXT( m_instance, static_cast<VkDebugReportCallbackEXT>( callback ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
38126  }
38127 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38128  template<typename Dispatch>
38130  {
38131  d.vkDestroyDebugReportCallbackEXT( m_instance, static_cast<VkDebugReportCallbackEXT>( callback ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
38132  }
38133 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38134 
38135  template<typename Dispatch>
38136  VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage, Dispatch const &d) const
38137  {
38138  d.vkDebugReportMessageEXT( m_instance, static_cast<VkDebugReportFlagsEXT>( flags ), static_cast<VkDebugReportObjectTypeEXT>( objectType ), object, location, messageCode, pLayerPrefix, pMessage );
38139  }
38140 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38141  template<typename Dispatch>
38142  VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const std::string & layerPrefix, const std::string & message, Dispatch const &d ) const
38143  {
38144 #ifdef VULKAN_HPP_NO_EXCEPTIONS
38145  VULKAN_HPP_ASSERT( layerPrefix.size() == message.size() );
38146 #else
38147  if ( layerPrefix.size() != message.size() )
38148  {
38149  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Instance::debugReportMessageEXT: layerPrefix.size() != message.size()" );
38150  }
38151 #endif // VULKAN_HPP_NO_EXCEPTIONS
38152  d.vkDebugReportMessageEXT( m_instance, static_cast<VkDebugReportFlagsEXT>( flags ), static_cast<VkDebugReportObjectTypeEXT>( objectType ), object, location, messageCode, layerPrefix.c_str(), message.c_str() );
38153  }
38154 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38155 
38156  template<typename Dispatch>
38157  VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDeviceGroups( uint32_t* pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, Dispatch const &d) const
38158  {
38159  return static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups( m_instance, pPhysicalDeviceGroupCount, reinterpret_cast<VkPhysicalDeviceGroupProperties*>( pPhysicalDeviceGroupProperties ) ) );
38160  }
38161 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38162  template <typename Allocator, typename Dispatch>
38164  {
38165  std::vector<PhysicalDeviceGroupProperties,Allocator> physicalDeviceGroupProperties;
38166  uint32_t physicalDeviceGroupCount;
38167  Result result;
38168  do
38169  {
38170  result = static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups( m_instance, &physicalDeviceGroupCount, nullptr ) );
38171  if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount )
38172  {
38173  physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
38174  result = static_cast<Result>( d.vkEnumeratePhysicalDeviceGroups( m_instance, &physicalDeviceGroupCount, reinterpret_cast<VkPhysicalDeviceGroupProperties*>( physicalDeviceGroupProperties.data() ) ) );
38175  }
38176  } while ( result == Result::eIncomplete );
38177  VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() );
38178  physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
38179  return createResultValue( result, physicalDeviceGroupProperties, VULKAN_HPP_NAMESPACE_STRING"::Instance::enumeratePhysicalDeviceGroups" );
38180  }
38181 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38182 
38183  template<typename Dispatch>
38184  VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDeviceGroupsKHR( uint32_t* pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, Dispatch const &d) const
38185  {
38186  return static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, pPhysicalDeviceGroupCount, reinterpret_cast<VkPhysicalDeviceGroupProperties*>( pPhysicalDeviceGroupProperties ) ) );
38187  }
38188 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38189  template <typename Allocator, typename Dispatch>
38191  {
38192  std::vector<PhysicalDeviceGroupProperties,Allocator> physicalDeviceGroupProperties;
38193  uint32_t physicalDeviceGroupCount;
38194  Result result;
38195  do
38196  {
38197  result = static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, &physicalDeviceGroupCount, nullptr ) );
38198  if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount )
38199  {
38200  physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
38201  result = static_cast<Result>( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, &physicalDeviceGroupCount, reinterpret_cast<VkPhysicalDeviceGroupProperties*>( physicalDeviceGroupProperties.data() ) ) );
38202  }
38203  } while ( result == Result::eIncomplete );
38204  VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() );
38205  physicalDeviceGroupProperties.resize( physicalDeviceGroupCount );
38206  return createResultValue( result, physicalDeviceGroupProperties, VULKAN_HPP_NAMESPACE_STRING"::Instance::enumeratePhysicalDeviceGroupsKHR" );
38207  }
38208 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38209 
38210 #ifdef VK_USE_PLATFORM_IOS_MVK
38211  template<typename Dispatch>
38212  VULKAN_HPP_INLINE Result Instance::createIOSSurfaceMVK( const IOSSurfaceCreateInfoMVK* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
38213  {
38214  return static_cast<Result>( d.vkCreateIOSSurfaceMVK( m_instance, reinterpret_cast<const VkIOSSurfaceCreateInfoMVK*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
38215  }
38216 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38217  template<typename Dispatch>
38218  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createIOSSurfaceMVK( const IOSSurfaceCreateInfoMVK & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38219  {
38220  SurfaceKHR surface;
38221  Result result = static_cast<Result>( d.vkCreateIOSSurfaceMVK( m_instance, reinterpret_cast<const VkIOSSurfaceCreateInfoMVK*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38222  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createIOSSurfaceMVK" );
38223  }
38224 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38225  template<typename Dispatch>
38226  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createIOSSurfaceMVKUnique( const IOSSurfaceCreateInfoMVK & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38227  {
38228  SurfaceKHR surface;
38229  Result result = static_cast<Result>( d.vkCreateIOSSurfaceMVK( m_instance, reinterpret_cast<const VkIOSSurfaceCreateInfoMVK*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38230 
38231  ObjectDestroy<Instance> deleter( *this, allocator );
38232  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createIOSSurfaceMVKUnique", deleter );
38233  }
38234 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38235 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38236 #endif /*VK_USE_PLATFORM_IOS_MVK*/
38237 
38238 #ifdef VK_USE_PLATFORM_MACOS_MVK
38239  template<typename Dispatch>
38240  VULKAN_HPP_INLINE Result Instance::createMacOSSurfaceMVK( const MacOSSurfaceCreateInfoMVK* pCreateInfo, const AllocationCallbacks* pAllocator, SurfaceKHR* pSurface, Dispatch const &d) const
38241  {
38242  return static_cast<Result>( d.vkCreateMacOSSurfaceMVK( m_instance, reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkSurfaceKHR*>( pSurface ) ) );
38243  }
38244 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38245  template<typename Dispatch>
38246  VULKAN_HPP_INLINE ResultValueType<SurfaceKHR>::type Instance::createMacOSSurfaceMVK( const MacOSSurfaceCreateInfoMVK & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38247  {
38248  SurfaceKHR surface;
38249  Result result = static_cast<Result>( d.vkCreateMacOSSurfaceMVK( m_instance, reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38250  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createMacOSSurfaceMVK" );
38251  }
38252 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38253  template<typename Dispatch>
38254  VULKAN_HPP_INLINE ResultValueType<UniqueSurfaceKHR>::type Instance::createMacOSSurfaceMVKUnique( const MacOSSurfaceCreateInfoMVK & createInfo, Optional<const AllocationCallbacks> allocator, Dispatch const &d ) const
38255  {
38256  SurfaceKHR surface;
38257  Result result = static_cast<Result>( d.vkCreateMacOSSurfaceMVK( m_instance, reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkSurfaceKHR*>( &surface ) ) );
38258 
38259  ObjectDestroy<Instance> deleter( *this, allocator );
38260  return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING"::Instance::createMacOSSurfaceMVKUnique", deleter );
38261  }
38262 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38263 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38264 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
38265 
38266  template<typename Dispatch>
38268  {
38269  return static_cast<Result>( d.vkCreateDebugUtilsMessengerEXT( m_instance, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkDebugUtilsMessengerEXT*>( pMessenger ) ) );
38270  }
38271 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38272  template<typename Dispatch>
38274  {
38275  DebugUtilsMessengerEXT messenger;
38276  Result result = static_cast<Result>( d.vkCreateDebugUtilsMessengerEXT( m_instance, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDebugUtilsMessengerEXT*>( &messenger ) ) );
38277  return createResultValue( result, messenger, VULKAN_HPP_NAMESPACE_STRING"::Instance::createDebugUtilsMessengerEXT" );
38278  }
38279 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38280  template<typename Dispatch>
38282  {
38283  DebugUtilsMessengerEXT messenger;
38284  Result result = static_cast<Result>( d.vkCreateDebugUtilsMessengerEXT( m_instance, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkDebugUtilsMessengerEXT*>( &messenger ) ) );
38285 
38286  ObjectDestroy<Instance> deleter( *this, allocator );
38287  return createResultValue( result, messenger, VULKAN_HPP_NAMESPACE_STRING"::Instance::createDebugUtilsMessengerEXTUnique", deleter );
38288  }
38289 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38290 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38291 
38292  template<typename Dispatch>
38294  {
38295  d.vkDestroyDebugUtilsMessengerEXT( m_instance, static_cast<VkDebugUtilsMessengerEXT>( messenger ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
38296  }
38297 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38298  template<typename Dispatch>
38300  {
38301  d.vkDestroyDebugUtilsMessengerEXT( m_instance, static_cast<VkDebugUtilsMessengerEXT>( messenger ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
38302  }
38303 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38304 
38305  template<typename Dispatch>
38306  VULKAN_HPP_INLINE void Instance::destroy( DebugUtilsMessengerEXT messenger, const AllocationCallbacks* pAllocator, Dispatch const &d) const
38307  {
38308  d.vkDestroyDebugUtilsMessengerEXT( m_instance, static_cast<VkDebugUtilsMessengerEXT>( messenger ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ) );
38309  }
38310 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38311  template<typename Dispatch>
38313  {
38314  d.vkDestroyDebugUtilsMessengerEXT( m_instance, static_cast<VkDebugUtilsMessengerEXT>( messenger ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ) );
38315  }
38316 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38317 
38318  template<typename Dispatch>
38320  {
38321  d.vkSubmitDebugUtilsMessageEXT( m_instance, static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ), static_cast<VkDebugUtilsMessageTypeFlagsEXT>( messageTypes ), reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT*>( pCallbackData ) );
38322  }
38323 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38324  template<typename Dispatch>
38326  {
38327  d.vkSubmitDebugUtilsMessageEXT( m_instance, static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ), static_cast<VkDebugUtilsMessageTypeFlagsEXT>( messageTypes ), reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT*>( &callbackData ) );
38328  }
38329 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38330 
38332  {
38333  DeviceGroupDeviceCreateInfo( uint32_t physicalDeviceCount_ = 0, const PhysicalDevice* pPhysicalDevices_ = nullptr )
38334  : physicalDeviceCount( physicalDeviceCount_ )
38335  , pPhysicalDevices( pPhysicalDevices_ )
38336  {
38337  }
38338 
38340  {
38341  memcpy( this, &rhs, sizeof( DeviceGroupDeviceCreateInfo ) );
38342  }
38343 
38345  {
38346  memcpy( this, &rhs, sizeof( DeviceGroupDeviceCreateInfo ) );
38347  return *this;
38348  }
38349  DeviceGroupDeviceCreateInfo& setPNext( const void* pNext_ )
38350  {
38351  pNext = pNext_;
38352  return *this;
38353  }
38354 
38356  {
38357  physicalDeviceCount = physicalDeviceCount_;
38358  return *this;
38359  }
38360 
38362  {
38363  pPhysicalDevices = pPhysicalDevices_;
38364  return *this;
38365  }
38366 
38367  operator const VkDeviceGroupDeviceCreateInfo&() const
38368  {
38369  return *reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(this);
38370  }
38371 
38372  bool operator==( DeviceGroupDeviceCreateInfo const& rhs ) const
38373  {
38374  return ( sType == rhs.sType )
38375  && ( pNext == rhs.pNext )
38377  && ( pPhysicalDevices == rhs.pPhysicalDevices );
38378  }
38379 
38380  bool operator!=( DeviceGroupDeviceCreateInfo const& rhs ) const
38381  {
38382  return !operator==( rhs );
38383  }
38384 
38385  private:
38387 
38388  public:
38389  const void* pNext = nullptr;
38392  };
38393  static_assert( sizeof( DeviceGroupDeviceCreateInfo ) == sizeof( VkDeviceGroupDeviceCreateInfo ), "struct and wrapper have different size!" );
38394 
38396 
38397 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38398 
38399  template <> class UniqueHandleTraits<Instance> {public: using deleter = ObjectDestroy<NoParent>; };
38401 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38402 
38403  template<typename Dispatch = DispatchLoaderStatic>
38404  Result createInstance( const InstanceCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Instance* pInstance, Dispatch const &d = Dispatch() );
38405 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38406  template<typename Dispatch = DispatchLoaderStatic>
38407  ResultValueType<Instance>::type createInstance( const InstanceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() );
38408 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38409  template<typename Dispatch = DispatchLoaderStatic>
38410  ResultValueType<UniqueInstance>::type createInstanceUnique( const InstanceCreateInfo & createInfo, Optional<const AllocationCallbacks> allocator = nullptr, Dispatch const &d = Dispatch() );
38411 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38412 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38413 
38414  template<typename Dispatch>
38415  VULKAN_HPP_INLINE Result createInstance( const InstanceCreateInfo* pCreateInfo, const AllocationCallbacks* pAllocator, Instance* pInstance, Dispatch const &d)
38416  {
38417  return static_cast<Result>( d.vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo*>( pCreateInfo ), reinterpret_cast<const VkAllocationCallbacks*>( pAllocator ), reinterpret_cast<VkInstance*>( pInstance ) ) );
38418  }
38419 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
38420  template<typename Dispatch>
38422  {
38423  Instance instance;
38424  Result result = static_cast<Result>( d.vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkInstance*>( &instance ) ) );
38425  return createResultValue( result, instance, VULKAN_HPP_NAMESPACE_STRING"::createInstance" );
38426  }
38427 #ifndef VULKAN_HPP_NO_SMART_HANDLE
38428  template<typename Dispatch>
38430  {
38431  Instance instance;
38432  Result result = static_cast<Result>( d.vkCreateInstance( reinterpret_cast<const VkInstanceCreateInfo*>( &createInfo ), reinterpret_cast<const VkAllocationCallbacks*>( static_cast<const AllocationCallbacks*>( allocator ) ), reinterpret_cast<VkInstance*>( &instance ) ) );
38433 
38434  ObjectDestroy<NoParent> deleter( allocator );
38435  return createResultValue( result, instance, VULKAN_HPP_NAMESPACE_STRING"::createInstanceUnique", deleter );
38436  }
38437 #endif /*VULKAN_HPP_NO_SMART_HANDLE*/
38438 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38439 
38440 
38441  template <> struct isStructureChainValid<PresentInfoKHR, DisplayPresentInfoKHR>{ enum { value = true }; };
38445 #ifdef VK_USE_PLATFORM_WIN32_NV
38446  template <> struct isStructureChainValid<MemoryAllocateInfo, ExportMemoryWin32HandleInfoNV>{ enum { value = true }; };
38447 #endif /*VK_USE_PLATFORM_WIN32_NV*/
38448 #ifdef VK_USE_PLATFORM_WIN32_NV
38449  template <> struct isStructureChainValid<SubmitInfo, Win32KeyedMutexAcquireReleaseInfoNV>{ enum { value = true }; };
38450 #endif /*VK_USE_PLATFORM_WIN32_NV*/
38451  template <> struct isStructureChainValid<DeviceCreateInfo, PhysicalDeviceFeatures2>{ enum { value = true }; };
38453  template <> struct isStructureChainValid<PresentInfoKHR, PresentRegionsKHR>{ enum { value = true }; };
38457 #ifdef VK_USE_PLATFORM_WIN32_KHR
38458  template <> struct isStructureChainValid<MemoryAllocateInfo, ExportMemoryWin32HandleInfoKHR>{ enum { value = true }; };
38459 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38460 #ifdef VK_USE_PLATFORM_WIN32_KHR
38461  template <> struct isStructureChainValid<SubmitInfo, Win32KeyedMutexAcquireReleaseInfoKHR>{ enum { value = true }; };
38462 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38463 #ifdef VK_USE_PLATFORM_WIN32_KHR
38464  template <> struct isStructureChainValid<SemaphoreCreateInfo, ExportSemaphoreWin32HandleInfoKHR>{ enum { value = true }; };
38465 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38466 #ifdef VK_USE_PLATFORM_WIN32_KHR
38467  template <> struct isStructureChainValid<SubmitInfo, D3D12FenceSubmitInfoKHR>{ enum { value = true }; };
38468 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38469 #ifdef VK_USE_PLATFORM_WIN32_KHR
38470  template <> struct isStructureChainValid<FenceCreateInfo, ExportFenceWin32HandleInfoKHR>{ enum { value = true }; };
38471 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38480  template <> struct isStructureChainValid<SubmitInfo, DeviceGroupSubmitInfo>{ enum { value = true }; };
38481  template <> struct isStructureChainValid<BindSparseInfo, DeviceGroupBindSparseInfo>{ enum { value = true }; };
38484  template <> struct isStructureChainValid<PresentInfoKHR, PresentTimesInfoGOOGLE>{ enum { value = true }; };
38498  template <> struct isStructureChainValid<SubmitInfo, ProtectedSubmitInfo>{ enum { value = true }; };
38520 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
38521  template <> struct isStructureChainValid<MemoryAllocateInfo, ImportAndroidHardwareBufferInfoANDROID>{ enum { value = true }; };
38522 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
38523 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
38524  template <> struct isStructureChainValid<ImageFormatProperties2, AndroidHardwareBufferUsageANDROID>{ enum { value = true }; };
38525 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
38526 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
38527  template <> struct isStructureChainValid<ImageCreateInfo, ExternalFormatANDROID>{ enum { value = true }; };
38528  template <> struct isStructureChainValid<SamplerYcbcrConversionCreateInfo, ExternalFormatANDROID>{ enum { value = true }; };
38529 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
38535  template <> struct isStructureChainValid<ImageMemoryBarrier, SampleLocationsInfoEXT>{ enum { value = true }; };
38543 #ifdef VK_USE_PLATFORM_WIN32_NV
38544  template <> struct isStructureChainValid<MemoryAllocateInfo, ImportMemoryWin32HandleInfoNV>{ enum { value = true }; };
38545 #endif /*VK_USE_PLATFORM_WIN32_NV*/
38546  template <> struct isStructureChainValid<InstanceCreateInfo, ValidationFlagsEXT>{ enum { value = true }; };
38552 #ifdef VK_USE_PLATFORM_WIN32_KHR
38553  template <> struct isStructureChainValid<MemoryAllocateInfo, ImportMemoryWin32HandleInfoKHR>{ enum { value = true }; };
38554 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38555  template <> struct isStructureChainValid<MemoryAllocateInfo, ImportMemoryFdInfoKHR>{ enum { value = true }; };
38559  template <> struct isStructureChainValid<FenceCreateInfo, ExportFenceCreateInfo>{ enum { value = true }; };
38561  template <> struct isStructureChainValid<MemoryAllocateInfo, MemoryAllocateFlagsInfo>{ enum { value = true }; };
38562  template <> struct isStructureChainValid<PresentInfoKHR, DeviceGroupPresentInfoKHR>{ enum { value = true }; };
38569 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
38570 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
38571  template <> struct isStructureChainValid<AndroidHardwareBufferPropertiesANDROID, AndroidHardwareBufferFormatPropertiesANDROID>{ enum { value = true }; };
38572 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
38573 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
38582  {
38583  return "(void)";
38584  }
38585 
38587  {
38588  return "{}";
38589  }
38590 
38592  {
38593  return "(void)";
38594  }
38595 
38597  {
38598  return "{}";
38599  }
38600 
38602  {
38603  return "(void)";
38604  }
38605 
38607  {
38608  return "{}";
38609  }
38610 
38612  {
38613  return "(void)";
38614  }
38615 
38617  {
38618  return "{}";
38619  }
38620 
38622  {
38623  return "(void)";
38624  }
38625 
38627  {
38628  return "{}";
38629  }
38630 
38632  {
38633  return "(void)";
38634  }
38635 
38637  {
38638  return "{}";
38639  }
38640 
38642  {
38643  return "(void)";
38644  }
38645 
38647  {
38648  return "{}";
38649  }
38650 
38652  {
38653  return "(void)";
38654  }
38655 
38657  {
38658  return "{}";
38659  }
38660 
38662  {
38663  return "(void)";
38664  }
38665 
38667  {
38668  return "{}";
38669  }
38670 
38672  {
38673  return "(void)";
38674  }
38675 
38677  {
38678  return "{}";
38679  }
38680 
38682  {
38683  return "(void)";
38684  }
38685 
38687  {
38688  return "{}";
38689  }
38690 
38692  {
38693  return "(void)";
38694  }
38695 
38697  {
38698  return "{}";
38699  }
38700 
38702  {
38703  return "(void)";
38704  }
38705 
38707  {
38708  return "{}";
38709  }
38710 
38712  {
38713  return "(void)";
38714  }
38715 
38717  {
38718  return "{}";
38719  }
38720 
38722  {
38723  return "(void)";
38724  }
38725 
38727  {
38728  return "{}";
38729  }
38730 
38732  {
38733  return "(void)";
38734  }
38735 
38737  {
38738  return "{}";
38739  }
38740 
38742  {
38743  return "(void)";
38744  }
38745 
38747  {
38748  return "{}";
38749  }
38750 
38752  {
38753  return "(void)";
38754  }
38755 
38757  {
38758  return "{}";
38759  }
38760 
38762  {
38763  return "(void)";
38764  }
38765 
38767  {
38768  return "{}";
38769  }
38770 
38772  {
38773  return "(void)";
38774  }
38775 
38777  {
38778  return "{}";
38779  }
38780 
38782  {
38783  return "(void)";
38784  }
38785 
38787  {
38788  return "{}";
38789  }
38790 
38792  {
38793  return "(void)";
38794  }
38795 
38797  {
38798  return "{}";
38799  }
38800 
38802  {
38803  return "(void)";
38804  }
38805 
38807  {
38808  return "{}";
38809  }
38810 
38812  {
38813  return "(void)";
38814  }
38815 
38817  {
38818  return "{}";
38819  }
38820 
38822  {
38823  return "(void)";
38824  }
38825 
38827  {
38828  return "{}";
38829  }
38830 
38832  {
38833  return "(void)";
38834  }
38835 
38837  {
38838  return "{}";
38839  }
38840 
38842  {
38843  return "(void)";
38844  }
38845 
38847  {
38848  return "{}";
38849  }
38850 
38852  {
38853  return "(void)";
38854  }
38855 
38857  {
38858  return "{}";
38859  }
38860 
38861 #ifdef VK_USE_PLATFORM_ANDROID_KHR
38862  VULKAN_HPP_INLINE std::string to_string(AndroidSurfaceCreateFlagBitsKHR)
38863  {
38864  return "(void)";
38865  }
38866 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
38867 
38868 #ifdef VK_USE_PLATFORM_ANDROID_KHR
38869  VULKAN_HPP_INLINE std::string to_string(AndroidSurfaceCreateFlagsKHR)
38870  {
38871  return "{}";
38872  }
38873 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
38874 
38875 #ifdef VK_USE_PLATFORM_MIR_KHR
38876  VULKAN_HPP_INLINE std::string to_string(MirSurfaceCreateFlagBitsKHR)
38877  {
38878  return "(void)";
38879  }
38880 #endif /*VK_USE_PLATFORM_MIR_KHR*/
38881 
38882 #ifdef VK_USE_PLATFORM_MIR_KHR
38883  VULKAN_HPP_INLINE std::string to_string(MirSurfaceCreateFlagsKHR)
38884  {
38885  return "{}";
38886  }
38887 #endif /*VK_USE_PLATFORM_MIR_KHR*/
38888 
38889 #ifdef VK_USE_PLATFORM_VI_NN
38890  VULKAN_HPP_INLINE std::string to_string(ViSurfaceCreateFlagBitsNN)
38891  {
38892  return "(void)";
38893  }
38894 #endif /*VK_USE_PLATFORM_VI_NN*/
38895 
38896 #ifdef VK_USE_PLATFORM_VI_NN
38897  VULKAN_HPP_INLINE std::string to_string(ViSurfaceCreateFlagsNN)
38898  {
38899  return "{}";
38900  }
38901 #endif /*VK_USE_PLATFORM_VI_NN*/
38902 
38903 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
38904  VULKAN_HPP_INLINE std::string to_string(WaylandSurfaceCreateFlagBitsKHR)
38905  {
38906  return "(void)";
38907  }
38908 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
38909 
38910 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
38911  VULKAN_HPP_INLINE std::string to_string(WaylandSurfaceCreateFlagsKHR)
38912  {
38913  return "{}";
38914  }
38915 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
38916 
38917 #ifdef VK_USE_PLATFORM_WIN32_KHR
38918  VULKAN_HPP_INLINE std::string to_string(Win32SurfaceCreateFlagBitsKHR)
38919  {
38920  return "(void)";
38921  }
38922 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38923 
38924 #ifdef VK_USE_PLATFORM_WIN32_KHR
38925  VULKAN_HPP_INLINE std::string to_string(Win32SurfaceCreateFlagsKHR)
38926  {
38927  return "{}";
38928  }
38929 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
38930 
38931 #ifdef VK_USE_PLATFORM_XLIB_KHR
38932  VULKAN_HPP_INLINE std::string to_string(XlibSurfaceCreateFlagBitsKHR)
38933  {
38934  return "(void)";
38935  }
38936 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
38937 
38938 #ifdef VK_USE_PLATFORM_XLIB_KHR
38939  VULKAN_HPP_INLINE std::string to_string(XlibSurfaceCreateFlagsKHR)
38940  {
38941  return "{}";
38942  }
38943 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
38944 
38945 #ifdef VK_USE_PLATFORM_XCB_KHR
38946  VULKAN_HPP_INLINE std::string to_string(XcbSurfaceCreateFlagBitsKHR)
38947  {
38948  return "(void)";
38949  }
38950 #endif /*VK_USE_PLATFORM_XCB_KHR*/
38951 
38952 #ifdef VK_USE_PLATFORM_XCB_KHR
38953  VULKAN_HPP_INLINE std::string to_string(XcbSurfaceCreateFlagsKHR)
38954  {
38955  return "{}";
38956  }
38957 #endif /*VK_USE_PLATFORM_XCB_KHR*/
38958 
38959 #ifdef VK_USE_PLATFORM_IOS_MVK
38960  VULKAN_HPP_INLINE std::string to_string(IOSSurfaceCreateFlagBitsMVK)
38961  {
38962  return "(void)";
38963  }
38964 #endif /*VK_USE_PLATFORM_IOS_MVK*/
38965 
38966 #ifdef VK_USE_PLATFORM_IOS_MVK
38967  VULKAN_HPP_INLINE std::string to_string(IOSSurfaceCreateFlagsMVK)
38968  {
38969  return "{}";
38970  }
38971 #endif /*VK_USE_PLATFORM_IOS_MVK*/
38972 
38973 #ifdef VK_USE_PLATFORM_MACOS_MVK
38974  VULKAN_HPP_INLINE std::string to_string(MacOSSurfaceCreateFlagBitsMVK)
38975  {
38976  return "(void)";
38977  }
38978 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
38979 
38980 #ifdef VK_USE_PLATFORM_MACOS_MVK
38981  VULKAN_HPP_INLINE std::string to_string(MacOSSurfaceCreateFlagsMVK)
38982  {
38983  return "{}";
38984  }
38985 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
38986 
38988  {
38989  return "(void)";
38990  }
38991 
38993  {
38994  return "{}";
38995  }
38996 
38998  {
38999  return "(void)";
39000  }
39001 
39003  {
39004  return "{}";
39005  }
39006 
39008  {
39009  return "(void)";
39010  }
39011 
39013  {
39014  return "{}";
39015  }
39016 
39018  {
39019  return "(void)";
39020  }
39021 
39023  {
39024  return "{}";
39025  }
39026 
39028  {
39029  return "(void)";
39030  }
39031 
39033  {
39034  return "{}";
39035  }
39036 
39038  {
39039  return "(void)";
39040  }
39041 
39043  {
39044  return "{}";
39045  }
39046 
39048  {
39049  return "(void)";
39050  }
39051 
39053  {
39054  return "{}";
39055  }
39056 
39058  {
39059  return "(void)";
39060  }
39061 
39063  {
39064  return "{}";
39065  }
39066 
39068  {
39069  return "(void)";
39070  }
39071 
39073  {
39074  return "{}";
39075  }
39076 
39078  {
39079  switch (value)
39080  {
39081  case ImageLayout::eUndefined: return "Undefined";
39082  case ImageLayout::eGeneral: return "General";
39083  case ImageLayout::eColorAttachmentOptimal: return "ColorAttachmentOptimal";
39084  case ImageLayout::eDepthStencilAttachmentOptimal: return "DepthStencilAttachmentOptimal";
39085  case ImageLayout::eDepthStencilReadOnlyOptimal: return "DepthStencilReadOnlyOptimal";
39086  case ImageLayout::eShaderReadOnlyOptimal: return "ShaderReadOnlyOptimal";
39087  case ImageLayout::eTransferSrcOptimal: return "TransferSrcOptimal";
39088  case ImageLayout::eTransferDstOptimal: return "TransferDstOptimal";
39089  case ImageLayout::ePreinitialized: return "Preinitialized";
39090  case ImageLayout::eDepthReadOnlyStencilAttachmentOptimal: return "DepthReadOnlyStencilAttachmentOptimal";
39091  case ImageLayout::eDepthAttachmentStencilReadOnlyOptimal: return "DepthAttachmentStencilReadOnlyOptimal";
39092  case ImageLayout::ePresentSrcKHR: return "PresentSrcKHR";
39093  case ImageLayout::eSharedPresentKHR: return "SharedPresentKHR";
39094  default: return "invalid";
39095  }
39096  }
39097 
39099  {
39100  switch (value)
39101  {
39102  case AttachmentLoadOp::eLoad: return "Load";
39103  case AttachmentLoadOp::eClear: return "Clear";
39104  case AttachmentLoadOp::eDontCare: return "DontCare";
39105  default: return "invalid";
39106  }
39107  }
39108 
39110  {
39111  switch (value)
39112  {
39113  case AttachmentStoreOp::eStore: return "Store";
39114  case AttachmentStoreOp::eDontCare: return "DontCare";
39115  default: return "invalid";
39116  }
39117  }
39118 
39120  {
39121  switch (value)
39122  {
39123  case ImageType::e1D: return "1D";
39124  case ImageType::e2D: return "2D";
39125  case ImageType::e3D: return "3D";
39126  default: return "invalid";
39127  }
39128  }
39129 
39131  {
39132  switch (value)
39133  {
39134  case ImageTiling::eOptimal: return "Optimal";
39135  case ImageTiling::eLinear: return "Linear";
39136  default: return "invalid";
39137  }
39138  }
39139 
39141  {
39142  switch (value)
39143  {
39144  case ImageViewType::e1D: return "1D";
39145  case ImageViewType::e2D: return "2D";
39146  case ImageViewType::e3D: return "3D";
39147  case ImageViewType::eCube: return "Cube";
39148  case ImageViewType::e1DArray: return "1DArray";
39149  case ImageViewType::e2DArray: return "2DArray";
39150  case ImageViewType::eCubeArray: return "CubeArray";
39151  default: return "invalid";
39152  }
39153  }
39154 
39156  {
39157  switch (value)
39158  {
39159  case CommandBufferLevel::ePrimary: return "Primary";
39160  case CommandBufferLevel::eSecondary: return "Secondary";
39161  default: return "invalid";
39162  }
39163  }
39164 
39166  {
39167  switch (value)
39168  {
39169  case ComponentSwizzle::eIdentity: return "Identity";
39170  case ComponentSwizzle::eZero: return "Zero";
39171  case ComponentSwizzle::eOne: return "One";
39172  case ComponentSwizzle::eR: return "R";
39173  case ComponentSwizzle::eG: return "G";
39174  case ComponentSwizzle::eB: return "B";
39175  case ComponentSwizzle::eA: return "A";
39176  default: return "invalid";
39177  }
39178  }
39179 
39181  {
39182  switch (value)
39183  {
39184  case DescriptorType::eSampler: return "Sampler";
39185  case DescriptorType::eCombinedImageSampler: return "CombinedImageSampler";
39186  case DescriptorType::eSampledImage: return "SampledImage";
39187  case DescriptorType::eStorageImage: return "StorageImage";
39188  case DescriptorType::eUniformTexelBuffer: return "UniformTexelBuffer";
39189  case DescriptorType::eStorageTexelBuffer: return "StorageTexelBuffer";
39190  case DescriptorType::eUniformBuffer: return "UniformBuffer";
39191  case DescriptorType::eStorageBuffer: return "StorageBuffer";
39192  case DescriptorType::eUniformBufferDynamic: return "UniformBufferDynamic";
39193  case DescriptorType::eStorageBufferDynamic: return "StorageBufferDynamic";
39194  case DescriptorType::eInputAttachment: return "InputAttachment";
39195  default: return "invalid";
39196  }
39197  }
39198 
39200  {
39201  switch (value)
39202  {
39203  case QueryType::eOcclusion: return "Occlusion";
39204  case QueryType::ePipelineStatistics: return "PipelineStatistics";
39205  case QueryType::eTimestamp: return "Timestamp";
39206  default: return "invalid";
39207  }
39208  }
39209 
39211  {
39212  switch (value)
39213  {
39214  case BorderColor::eFloatTransparentBlack: return "FloatTransparentBlack";
39215  case BorderColor::eIntTransparentBlack: return "IntTransparentBlack";
39216  case BorderColor::eFloatOpaqueBlack: return "FloatOpaqueBlack";
39217  case BorderColor::eIntOpaqueBlack: return "IntOpaqueBlack";
39218  case BorderColor::eFloatOpaqueWhite: return "FloatOpaqueWhite";
39219  case BorderColor::eIntOpaqueWhite: return "IntOpaqueWhite";
39220  default: return "invalid";
39221  }
39222  }
39223 
39225  {
39226  switch (value)
39227  {
39228  case PipelineBindPoint::eGraphics: return "Graphics";
39229  case PipelineBindPoint::eCompute: return "Compute";
39230  default: return "invalid";
39231  }
39232  }
39233 
39235  {
39236  switch (value)
39237  {
39238  case PipelineCacheHeaderVersion::eOne: return "One";
39239  default: return "invalid";
39240  }
39241  }
39242 
39244  {
39245  switch (value)
39246  {
39247  case PrimitiveTopology::ePointList: return "PointList";
39248  case PrimitiveTopology::eLineList: return "LineList";
39249  case PrimitiveTopology::eLineStrip: return "LineStrip";
39250  case PrimitiveTopology::eTriangleList: return "TriangleList";
39251  case PrimitiveTopology::eTriangleStrip: return "TriangleStrip";
39252  case PrimitiveTopology::eTriangleFan: return "TriangleFan";
39253  case PrimitiveTopology::eLineListWithAdjacency: return "LineListWithAdjacency";
39254  case PrimitiveTopology::eLineStripWithAdjacency: return "LineStripWithAdjacency";
39255  case PrimitiveTopology::eTriangleListWithAdjacency: return "TriangleListWithAdjacency";
39256  case PrimitiveTopology::eTriangleStripWithAdjacency: return "TriangleStripWithAdjacency";
39257  case PrimitiveTopology::ePatchList: return "PatchList";
39258  default: return "invalid";
39259  }
39260  }
39261 
39263  {
39264  switch (value)
39265  {
39266  case SharingMode::eExclusive: return "Exclusive";
39267  case SharingMode::eConcurrent: return "Concurrent";
39268  default: return "invalid";
39269  }
39270  }
39271 
39273  {
39274  switch (value)
39275  {
39276  case IndexType::eUint16: return "Uint16";
39277  case IndexType::eUint32: return "Uint32";
39278  default: return "invalid";
39279  }
39280  }
39281 
39283  {
39284  switch (value)
39285  {
39286  case Filter::eNearest: return "Nearest";
39287  case Filter::eLinear: return "Linear";
39288  case Filter::eCubicIMG: return "CubicIMG";
39289  default: return "invalid";
39290  }
39291  }
39292 
39294  {
39295  switch (value)
39296  {
39297  case SamplerMipmapMode::eNearest: return "Nearest";
39298  case SamplerMipmapMode::eLinear: return "Linear";
39299  default: return "invalid";
39300  }
39301  }
39302 
39304  {
39305  switch (value)
39306  {
39307  case SamplerAddressMode::eRepeat: return "Repeat";
39308  case SamplerAddressMode::eMirroredRepeat: return "MirroredRepeat";
39309  case SamplerAddressMode::eClampToEdge: return "ClampToEdge";
39310  case SamplerAddressMode::eClampToBorder: return "ClampToBorder";
39311  case SamplerAddressMode::eMirrorClampToEdge: return "MirrorClampToEdge";
39312  default: return "invalid";
39313  }
39314  }
39315 
39317  {
39318  switch (value)
39319  {
39320  case CompareOp::eNever: return "Never";
39321  case CompareOp::eLess: return "Less";
39322  case CompareOp::eEqual: return "Equal";
39323  case CompareOp::eLessOrEqual: return "LessOrEqual";
39324  case CompareOp::eGreater: return "Greater";
39325  case CompareOp::eNotEqual: return "NotEqual";
39326  case CompareOp::eGreaterOrEqual: return "GreaterOrEqual";
39327  case CompareOp::eAlways: return "Always";
39328  default: return "invalid";
39329  }
39330  }
39331 
39333  {
39334  switch (value)
39335  {
39336  case PolygonMode::eFill: return "Fill";
39337  case PolygonMode::eLine: return "Line";
39338  case PolygonMode::ePoint: return "Point";
39339  case PolygonMode::eFillRectangleNV: return "FillRectangleNV";
39340  default: return "invalid";
39341  }
39342  }
39343 
39345  {
39346  switch (value)
39347  {
39348  case CullModeFlagBits::eNone: return "None";
39349  case CullModeFlagBits::eFront: return "Front";
39350  case CullModeFlagBits::eBack: return "Back";
39351  case CullModeFlagBits::eFrontAndBack: return "FrontAndBack";
39352  default: return "invalid";
39353  }
39354  }
39355 
39357  {
39358  if (!value) return "{}";
39360  if (value & CullModeFlagBits::eNone) result += "None | ";
39361  if (value & CullModeFlagBits::eFront) result += "Front | ";
39362  if (value & CullModeFlagBits::eBack) result += "Back | ";
39363  if (value & CullModeFlagBits::eFrontAndBack) result += "FrontAndBack | ";
39364  return "{" + result.substr(0, result.size() - 3) + "}";
39365  }
39366 
39368  {
39369  switch (value)
39370  {
39371  case FrontFace::eCounterClockwise: return "CounterClockwise";
39372  case FrontFace::eClockwise: return "Clockwise";
39373  default: return "invalid";
39374  }
39375  }
39376 
39378  {
39379  switch (value)
39380  {
39381  case BlendFactor::eZero: return "Zero";
39382  case BlendFactor::eOne: return "One";
39383  case BlendFactor::eSrcColor: return "SrcColor";
39384  case BlendFactor::eOneMinusSrcColor: return "OneMinusSrcColor";
39385  case BlendFactor::eDstColor: return "DstColor";
39386  case BlendFactor::eOneMinusDstColor: return "OneMinusDstColor";
39387  case BlendFactor::eSrcAlpha: return "SrcAlpha";
39388  case BlendFactor::eOneMinusSrcAlpha: return "OneMinusSrcAlpha";
39389  case BlendFactor::eDstAlpha: return "DstAlpha";
39390  case BlendFactor::eOneMinusDstAlpha: return "OneMinusDstAlpha";
39391  case BlendFactor::eConstantColor: return "ConstantColor";
39392  case BlendFactor::eOneMinusConstantColor: return "OneMinusConstantColor";
39393  case BlendFactor::eConstantAlpha: return "ConstantAlpha";
39394  case BlendFactor::eOneMinusConstantAlpha: return "OneMinusConstantAlpha";
39395  case BlendFactor::eSrcAlphaSaturate: return "SrcAlphaSaturate";
39396  case BlendFactor::eSrc1Color: return "Src1Color";
39397  case BlendFactor::eOneMinusSrc1Color: return "OneMinusSrc1Color";
39398  case BlendFactor::eSrc1Alpha: return "Src1Alpha";
39399  case BlendFactor::eOneMinusSrc1Alpha: return "OneMinusSrc1Alpha";
39400  default: return "invalid";
39401  }
39402  }
39403 
39405  {
39406  switch (value)
39407  {
39408  case BlendOp::eAdd: return "Add";
39409  case BlendOp::eSubtract: return "Subtract";
39410  case BlendOp::eReverseSubtract: return "ReverseSubtract";
39411  case BlendOp::eMin: return "Min";
39412  case BlendOp::eMax: return "Max";
39413  case BlendOp::eZeroEXT: return "ZeroEXT";
39414  case BlendOp::eSrcEXT: return "SrcEXT";
39415  case BlendOp::eDstEXT: return "DstEXT";
39416  case BlendOp::eSrcOverEXT: return "SrcOverEXT";
39417  case BlendOp::eDstOverEXT: return "DstOverEXT";
39418  case BlendOp::eSrcInEXT: return "SrcInEXT";
39419  case BlendOp::eDstInEXT: return "DstInEXT";
39420  case BlendOp::eSrcOutEXT: return "SrcOutEXT";
39421  case BlendOp::eDstOutEXT: return "DstOutEXT";
39422  case BlendOp::eSrcAtopEXT: return "SrcAtopEXT";
39423  case BlendOp::eDstAtopEXT: return "DstAtopEXT";
39424  case BlendOp::eXorEXT: return "XorEXT";
39425  case BlendOp::eMultiplyEXT: return "MultiplyEXT";
39426  case BlendOp::eScreenEXT: return "ScreenEXT";
39427  case BlendOp::eOverlayEXT: return "OverlayEXT";
39428  case BlendOp::eDarkenEXT: return "DarkenEXT";
39429  case BlendOp::eLightenEXT: return "LightenEXT";
39430  case BlendOp::eColordodgeEXT: return "ColordodgeEXT";
39431  case BlendOp::eColorburnEXT: return "ColorburnEXT";
39432  case BlendOp::eHardlightEXT: return "HardlightEXT";
39433  case BlendOp::eSoftlightEXT: return "SoftlightEXT";
39434  case BlendOp::eDifferenceEXT: return "DifferenceEXT";
39435  case BlendOp::eExclusionEXT: return "ExclusionEXT";
39436  case BlendOp::eInvertEXT: return "InvertEXT";
39437  case BlendOp::eInvertRgbEXT: return "InvertRgbEXT";
39438  case BlendOp::eLineardodgeEXT: return "LineardodgeEXT";
39439  case BlendOp::eLinearburnEXT: return "LinearburnEXT";
39440  case BlendOp::eVividlightEXT: return "VividlightEXT";
39441  case BlendOp::eLinearlightEXT: return "LinearlightEXT";
39442  case BlendOp::ePinlightEXT: return "PinlightEXT";
39443  case BlendOp::eHardmixEXT: return "HardmixEXT";
39444  case BlendOp::eHslHueEXT: return "HslHueEXT";
39445  case BlendOp::eHslSaturationEXT: return "HslSaturationEXT";
39446  case BlendOp::eHslColorEXT: return "HslColorEXT";
39447  case BlendOp::eHslLuminosityEXT: return "HslLuminosityEXT";
39448  case BlendOp::ePlusEXT: return "PlusEXT";
39449  case BlendOp::ePlusClampedEXT: return "PlusClampedEXT";
39450  case BlendOp::ePlusClampedAlphaEXT: return "PlusClampedAlphaEXT";
39451  case BlendOp::ePlusDarkerEXT: return "PlusDarkerEXT";
39452  case BlendOp::eMinusEXT: return "MinusEXT";
39453  case BlendOp::eMinusClampedEXT: return "MinusClampedEXT";
39454  case BlendOp::eContrastEXT: return "ContrastEXT";
39455  case BlendOp::eInvertOvgEXT: return "InvertOvgEXT";
39456  case BlendOp::eRedEXT: return "RedEXT";
39457  case BlendOp::eGreenEXT: return "GreenEXT";
39458  case BlendOp::eBlueEXT: return "BlueEXT";
39459  default: return "invalid";
39460  }
39461  }
39462 
39464  {
39465  switch (value)
39466  {
39467  case StencilOp::eKeep: return "Keep";
39468  case StencilOp::eZero: return "Zero";
39469  case StencilOp::eReplace: return "Replace";
39470  case StencilOp::eIncrementAndClamp: return "IncrementAndClamp";
39471  case StencilOp::eDecrementAndClamp: return "DecrementAndClamp";
39472  case StencilOp::eInvert: return "Invert";
39473  case StencilOp::eIncrementAndWrap: return "IncrementAndWrap";
39474  case StencilOp::eDecrementAndWrap: return "DecrementAndWrap";
39475  default: return "invalid";
39476  }
39477  }
39478 
39480  {
39481  switch (value)
39482  {
39483  case LogicOp::eClear: return "Clear";
39484  case LogicOp::eAnd: return "And";
39485  case LogicOp::eAndReverse: return "AndReverse";
39486  case LogicOp::eCopy: return "Copy";
39487  case LogicOp::eAndInverted: return "AndInverted";
39488  case LogicOp::eNoOp: return "NoOp";
39489  case LogicOp::eXor: return "Xor";
39490  case LogicOp::eOr: return "Or";
39491  case LogicOp::eNor: return "Nor";
39492  case LogicOp::eEquivalent: return "Equivalent";
39493  case LogicOp::eInvert: return "Invert";
39494  case LogicOp::eOrReverse: return "OrReverse";
39495  case LogicOp::eCopyInverted: return "CopyInverted";
39496  case LogicOp::eOrInverted: return "OrInverted";
39497  case LogicOp::eNand: return "Nand";
39498  case LogicOp::eSet: return "Set";
39499  default: return "invalid";
39500  }
39501  }
39502 
39504  {
39505  switch (value)
39506  {
39507  case InternalAllocationType::eExecutable: return "Executable";
39508  default: return "invalid";
39509  }
39510  }
39511 
39513  {
39514  switch (value)
39515  {
39516  case SystemAllocationScope::eCommand: return "Command";
39517  case SystemAllocationScope::eObject: return "Object";
39518  case SystemAllocationScope::eCache: return "Cache";
39519  case SystemAllocationScope::eDevice: return "Device";
39520  case SystemAllocationScope::eInstance: return "Instance";
39521  default: return "invalid";
39522  }
39523  }
39524 
39526  {
39527  switch (value)
39528  {
39529  case PhysicalDeviceType::eOther: return "Other";
39530  case PhysicalDeviceType::eIntegratedGpu: return "IntegratedGpu";
39531  case PhysicalDeviceType::eDiscreteGpu: return "DiscreteGpu";
39532  case PhysicalDeviceType::eVirtualGpu: return "VirtualGpu";
39533  case PhysicalDeviceType::eCpu: return "Cpu";
39534  default: return "invalid";
39535  }
39536  }
39537 
39539  {
39540  switch (value)
39541  {
39542  case VertexInputRate::eVertex: return "Vertex";
39543  case VertexInputRate::eInstance: return "Instance";
39544  default: return "invalid";
39545  }
39546  }
39547 
39549  {
39550  switch (value)
39551  {
39552  case Format::eUndefined: return "Undefined";
39553  case Format::eR4G4UnormPack8: return "R4G4UnormPack8";
39554  case Format::eR4G4B4A4UnormPack16: return "R4G4B4A4UnormPack16";
39555  case Format::eB4G4R4A4UnormPack16: return "B4G4R4A4UnormPack16";
39556  case Format::eR5G6B5UnormPack16: return "R5G6B5UnormPack16";
39557  case Format::eB5G6R5UnormPack16: return "B5G6R5UnormPack16";
39558  case Format::eR5G5B5A1UnormPack16: return "R5G5B5A1UnormPack16";
39559  case Format::eB5G5R5A1UnormPack16: return "B5G5R5A1UnormPack16";
39560  case Format::eA1R5G5B5UnormPack16: return "A1R5G5B5UnormPack16";
39561  case Format::eR8Unorm: return "R8Unorm";
39562  case Format::eR8Snorm: return "R8Snorm";
39563  case Format::eR8Uscaled: return "R8Uscaled";
39564  case Format::eR8Sscaled: return "R8Sscaled";
39565  case Format::eR8Uint: return "R8Uint";
39566  case Format::eR8Sint: return "R8Sint";
39567  case Format::eR8Srgb: return "R8Srgb";
39568  case Format::eR8G8Unorm: return "R8G8Unorm";
39569  case Format::eR8G8Snorm: return "R8G8Snorm";
39570  case Format::eR8G8Uscaled: return "R8G8Uscaled";
39571  case Format::eR8G8Sscaled: return "R8G8Sscaled";
39572  case Format::eR8G8Uint: return "R8G8Uint";
39573  case Format::eR8G8Sint: return "R8G8Sint";
39574  case Format::eR8G8Srgb: return "R8G8Srgb";
39575  case Format::eR8G8B8Unorm: return "R8G8B8Unorm";
39576  case Format::eR8G8B8Snorm: return "R8G8B8Snorm";
39577  case Format::eR8G8B8Uscaled: return "R8G8B8Uscaled";
39578  case Format::eR8G8B8Sscaled: return "R8G8B8Sscaled";
39579  case Format::eR8G8B8Uint: return "R8G8B8Uint";
39580  case Format::eR8G8B8Sint: return "R8G8B8Sint";
39581  case Format::eR8G8B8Srgb: return "R8G8B8Srgb";
39582  case Format::eB8G8R8Unorm: return "B8G8R8Unorm";
39583  case Format::eB8G8R8Snorm: return "B8G8R8Snorm";
39584  case Format::eB8G8R8Uscaled: return "B8G8R8Uscaled";
39585  case Format::eB8G8R8Sscaled: return "B8G8R8Sscaled";
39586  case Format::eB8G8R8Uint: return "B8G8R8Uint";
39587  case Format::eB8G8R8Sint: return "B8G8R8Sint";
39588  case Format::eB8G8R8Srgb: return "B8G8R8Srgb";
39589  case Format::eR8G8B8A8Unorm: return "R8G8B8A8Unorm";
39590  case Format::eR8G8B8A8Snorm: return "R8G8B8A8Snorm";
39591  case Format::eR8G8B8A8Uscaled: return "R8G8B8A8Uscaled";
39592  case Format::eR8G8B8A8Sscaled: return "R8G8B8A8Sscaled";
39593  case Format::eR8G8B8A8Uint: return "R8G8B8A8Uint";
39594  case Format::eR8G8B8A8Sint: return "R8G8B8A8Sint";
39595  case Format::eR8G8B8A8Srgb: return "R8G8B8A8Srgb";
39596  case Format::eB8G8R8A8Unorm: return "B8G8R8A8Unorm";
39597  case Format::eB8G8R8A8Snorm: return "B8G8R8A8Snorm";
39598  case Format::eB8G8R8A8Uscaled: return "B8G8R8A8Uscaled";
39599  case Format::eB8G8R8A8Sscaled: return "B8G8R8A8Sscaled";
39600  case Format::eB8G8R8A8Uint: return "B8G8R8A8Uint";
39601  case Format::eB8G8R8A8Sint: return "B8G8R8A8Sint";
39602  case Format::eB8G8R8A8Srgb: return "B8G8R8A8Srgb";
39603  case Format::eA8B8G8R8UnormPack32: return "A8B8G8R8UnormPack32";
39604  case Format::eA8B8G8R8SnormPack32: return "A8B8G8R8SnormPack32";
39605  case Format::eA8B8G8R8UscaledPack32: return "A8B8G8R8UscaledPack32";
39606  case Format::eA8B8G8R8SscaledPack32: return "A8B8G8R8SscaledPack32";
39607  case Format::eA8B8G8R8UintPack32: return "A8B8G8R8UintPack32";
39608  case Format::eA8B8G8R8SintPack32: return "A8B8G8R8SintPack32";
39609  case Format::eA8B8G8R8SrgbPack32: return "A8B8G8R8SrgbPack32";
39610  case Format::eA2R10G10B10UnormPack32: return "A2R10G10B10UnormPack32";
39611  case Format::eA2R10G10B10SnormPack32: return "A2R10G10B10SnormPack32";
39612  case Format::eA2R10G10B10UscaledPack32: return "A2R10G10B10UscaledPack32";
39613  case Format::eA2R10G10B10SscaledPack32: return "A2R10G10B10SscaledPack32";
39614  case Format::eA2R10G10B10UintPack32: return "A2R10G10B10UintPack32";
39615  case Format::eA2R10G10B10SintPack32: return "A2R10G10B10SintPack32";
39616  case Format::eA2B10G10R10UnormPack32: return "A2B10G10R10UnormPack32";
39617  case Format::eA2B10G10R10SnormPack32: return "A2B10G10R10SnormPack32";
39618  case Format::eA2B10G10R10UscaledPack32: return "A2B10G10R10UscaledPack32";
39619  case Format::eA2B10G10R10SscaledPack32: return "A2B10G10R10SscaledPack32";
39620  case Format::eA2B10G10R10UintPack32: return "A2B10G10R10UintPack32";
39621  case Format::eA2B10G10R10SintPack32: return "A2B10G10R10SintPack32";
39622  case Format::eR16Unorm: return "R16Unorm";
39623  case Format::eR16Snorm: return "R16Snorm";
39624  case Format::eR16Uscaled: return "R16Uscaled";
39625  case Format::eR16Sscaled: return "R16Sscaled";
39626  case Format::eR16Uint: return "R16Uint";
39627  case Format::eR16Sint: return "R16Sint";
39628  case Format::eR16Sfloat: return "R16Sfloat";
39629  case Format::eR16G16Unorm: return "R16G16Unorm";
39630  case Format::eR16G16Snorm: return "R16G16Snorm";
39631  case Format::eR16G16Uscaled: return "R16G16Uscaled";
39632  case Format::eR16G16Sscaled: return "R16G16Sscaled";
39633  case Format::eR16G16Uint: return "R16G16Uint";
39634  case Format::eR16G16Sint: return "R16G16Sint";
39635  case Format::eR16G16Sfloat: return "R16G16Sfloat";
39636  case Format::eR16G16B16Unorm: return "R16G16B16Unorm";
39637  case Format::eR16G16B16Snorm: return "R16G16B16Snorm";
39638  case Format::eR16G16B16Uscaled: return "R16G16B16Uscaled";
39639  case Format::eR16G16B16Sscaled: return "R16G16B16Sscaled";
39640  case Format::eR16G16B16Uint: return "R16G16B16Uint";
39641  case Format::eR16G16B16Sint: return "R16G16B16Sint";
39642  case Format::eR16G16B16Sfloat: return "R16G16B16Sfloat";
39643  case Format::eR16G16B16A16Unorm: return "R16G16B16A16Unorm";
39644  case Format::eR16G16B16A16Snorm: return "R16G16B16A16Snorm";
39645  case Format::eR16G16B16A16Uscaled: return "R16G16B16A16Uscaled";
39646  case Format::eR16G16B16A16Sscaled: return "R16G16B16A16Sscaled";
39647  case Format::eR16G16B16A16Uint: return "R16G16B16A16Uint";
39648  case Format::eR16G16B16A16Sint: return "R16G16B16A16Sint";
39649  case Format::eR16G16B16A16Sfloat: return "R16G16B16A16Sfloat";
39650  case Format::eR32Uint: return "R32Uint";
39651  case Format::eR32Sint: return "R32Sint";
39652  case Format::eR32Sfloat: return "R32Sfloat";
39653  case Format::eR32G32Uint: return "R32G32Uint";
39654  case Format::eR32G32Sint: return "R32G32Sint";
39655  case Format::eR32G32Sfloat: return "R32G32Sfloat";
39656  case Format::eR32G32B32Uint: return "R32G32B32Uint";
39657  case Format::eR32G32B32Sint: return "R32G32B32Sint";
39658  case Format::eR32G32B32Sfloat: return "R32G32B32Sfloat";
39659  case Format::eR32G32B32A32Uint: return "R32G32B32A32Uint";
39660  case Format::eR32G32B32A32Sint: return "R32G32B32A32Sint";
39661  case Format::eR32G32B32A32Sfloat: return "R32G32B32A32Sfloat";
39662  case Format::eR64Uint: return "R64Uint";
39663  case Format::eR64Sint: return "R64Sint";
39664  case Format::eR64Sfloat: return "R64Sfloat";
39665  case Format::eR64G64Uint: return "R64G64Uint";
39666  case Format::eR64G64Sint: return "R64G64Sint";
39667  case Format::eR64G64Sfloat: return "R64G64Sfloat";
39668  case Format::eR64G64B64Uint: return "R64G64B64Uint";
39669  case Format::eR64G64B64Sint: return "R64G64B64Sint";
39670  case Format::eR64G64B64Sfloat: return "R64G64B64Sfloat";
39671  case Format::eR64G64B64A64Uint: return "R64G64B64A64Uint";
39672  case Format::eR64G64B64A64Sint: return "R64G64B64A64Sint";
39673  case Format::eR64G64B64A64Sfloat: return "R64G64B64A64Sfloat";
39674  case Format::eB10G11R11UfloatPack32: return "B10G11R11UfloatPack32";
39675  case Format::eE5B9G9R9UfloatPack32: return "E5B9G9R9UfloatPack32";
39676  case Format::eD16Unorm: return "D16Unorm";
39677  case Format::eX8D24UnormPack32: return "X8D24UnormPack32";
39678  case Format::eD32Sfloat: return "D32Sfloat";
39679  case Format::eS8Uint: return "S8Uint";
39680  case Format::eD16UnormS8Uint: return "D16UnormS8Uint";
39681  case Format::eD24UnormS8Uint: return "D24UnormS8Uint";
39682  case Format::eD32SfloatS8Uint: return "D32SfloatS8Uint";
39683  case Format::eBc1RgbUnormBlock: return "Bc1RgbUnormBlock";
39684  case Format::eBc1RgbSrgbBlock: return "Bc1RgbSrgbBlock";
39685  case Format::eBc1RgbaUnormBlock: return "Bc1RgbaUnormBlock";
39686  case Format::eBc1RgbaSrgbBlock: return "Bc1RgbaSrgbBlock";
39687  case Format::eBc2UnormBlock: return "Bc2UnormBlock";
39688  case Format::eBc2SrgbBlock: return "Bc2SrgbBlock";
39689  case Format::eBc3UnormBlock: return "Bc3UnormBlock";
39690  case Format::eBc3SrgbBlock: return "Bc3SrgbBlock";
39691  case Format::eBc4UnormBlock: return "Bc4UnormBlock";
39692  case Format::eBc4SnormBlock: return "Bc4SnormBlock";
39693  case Format::eBc5UnormBlock: return "Bc5UnormBlock";
39694  case Format::eBc5SnormBlock: return "Bc5SnormBlock";
39695  case Format::eBc6HUfloatBlock: return "Bc6HUfloatBlock";
39696  case Format::eBc6HSfloatBlock: return "Bc6HSfloatBlock";
39697  case Format::eBc7UnormBlock: return "Bc7UnormBlock";
39698  case Format::eBc7SrgbBlock: return "Bc7SrgbBlock";
39699  case Format::eEtc2R8G8B8UnormBlock: return "Etc2R8G8B8UnormBlock";
39700  case Format::eEtc2R8G8B8SrgbBlock: return "Etc2R8G8B8SrgbBlock";
39701  case Format::eEtc2R8G8B8A1UnormBlock: return "Etc2R8G8B8A1UnormBlock";
39702  case Format::eEtc2R8G8B8A1SrgbBlock: return "Etc2R8G8B8A1SrgbBlock";
39703  case Format::eEtc2R8G8B8A8UnormBlock: return "Etc2R8G8B8A8UnormBlock";
39704  case Format::eEtc2R8G8B8A8SrgbBlock: return "Etc2R8G8B8A8SrgbBlock";
39705  case Format::eEacR11UnormBlock: return "EacR11UnormBlock";
39706  case Format::eEacR11SnormBlock: return "EacR11SnormBlock";
39707  case Format::eEacR11G11UnormBlock: return "EacR11G11UnormBlock";
39708  case Format::eEacR11G11SnormBlock: return "EacR11G11SnormBlock";
39709  case Format::eAstc4x4UnormBlock: return "Astc4x4UnormBlock";
39710  case Format::eAstc4x4SrgbBlock: return "Astc4x4SrgbBlock";
39711  case Format::eAstc5x4UnormBlock: return "Astc5x4UnormBlock";
39712  case Format::eAstc5x4SrgbBlock: return "Astc5x4SrgbBlock";
39713  case Format::eAstc5x5UnormBlock: return "Astc5x5UnormBlock";
39714  case Format::eAstc5x5SrgbBlock: return "Astc5x5SrgbBlock";
39715  case Format::eAstc6x5UnormBlock: return "Astc6x5UnormBlock";
39716  case Format::eAstc6x5SrgbBlock: return "Astc6x5SrgbBlock";
39717  case Format::eAstc6x6UnormBlock: return "Astc6x6UnormBlock";
39718  case Format::eAstc6x6SrgbBlock: return "Astc6x6SrgbBlock";
39719  case Format::eAstc8x5UnormBlock: return "Astc8x5UnormBlock";
39720  case Format::eAstc8x5SrgbBlock: return "Astc8x5SrgbBlock";
39721  case Format::eAstc8x6UnormBlock: return "Astc8x6UnormBlock";
39722  case Format::eAstc8x6SrgbBlock: return "Astc8x6SrgbBlock";
39723  case Format::eAstc8x8UnormBlock: return "Astc8x8UnormBlock";
39724  case Format::eAstc8x8SrgbBlock: return "Astc8x8SrgbBlock";
39725  case Format::eAstc10x5UnormBlock: return "Astc10x5UnormBlock";
39726  case Format::eAstc10x5SrgbBlock: return "Astc10x5SrgbBlock";
39727  case Format::eAstc10x6UnormBlock: return "Astc10x6UnormBlock";
39728  case Format::eAstc10x6SrgbBlock: return "Astc10x6SrgbBlock";
39729  case Format::eAstc10x8UnormBlock: return "Astc10x8UnormBlock";
39730  case Format::eAstc10x8SrgbBlock: return "Astc10x8SrgbBlock";
39731  case Format::eAstc10x10UnormBlock: return "Astc10x10UnormBlock";
39732  case Format::eAstc10x10SrgbBlock: return "Astc10x10SrgbBlock";
39733  case Format::eAstc12x10UnormBlock: return "Astc12x10UnormBlock";
39734  case Format::eAstc12x10SrgbBlock: return "Astc12x10SrgbBlock";
39735  case Format::eAstc12x12UnormBlock: return "Astc12x12UnormBlock";
39736  case Format::eAstc12x12SrgbBlock: return "Astc12x12SrgbBlock";
39737  case Format::eG8B8G8R8422Unorm: return "G8B8G8R8422Unorm";
39738  case Format::eB8G8R8G8422Unorm: return "B8G8R8G8422Unorm";
39739  case Format::eG8B8R83Plane420Unorm: return "G8B8R83Plane420Unorm";
39740  case Format::eG8B8R82Plane420Unorm: return "G8B8R82Plane420Unorm";
39741  case Format::eG8B8R83Plane422Unorm: return "G8B8R83Plane422Unorm";
39742  case Format::eG8B8R82Plane422Unorm: return "G8B8R82Plane422Unorm";
39743  case Format::eG8B8R83Plane444Unorm: return "G8B8R83Plane444Unorm";
39744  case Format::eR10X6UnormPack16: return "R10X6UnormPack16";
39745  case Format::eR10X6G10X6Unorm2Pack16: return "R10X6G10X6Unorm2Pack16";
39746  case Format::eR10X6G10X6B10X6A10X6Unorm4Pack16: return "R10X6G10X6B10X6A10X6Unorm4Pack16";
39747  case Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: return "G10X6B10X6G10X6R10X6422Unorm4Pack16";
39748  case Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: return "B10X6G10X6R10X6G10X6422Unorm4Pack16";
39749  case Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: return "G10X6B10X6R10X63Plane420Unorm3Pack16";
39750  case Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: return "G10X6B10X6R10X62Plane420Unorm3Pack16";
39751  case Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: return "G10X6B10X6R10X63Plane422Unorm3Pack16";
39752  case Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: return "G10X6B10X6R10X62Plane422Unorm3Pack16";
39753  case Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: return "G10X6B10X6R10X63Plane444Unorm3Pack16";
39754  case Format::eR12X4UnormPack16: return "R12X4UnormPack16";
39755  case Format::eR12X4G12X4Unorm2Pack16: return "R12X4G12X4Unorm2Pack16";
39756  case Format::eR12X4G12X4B12X4A12X4Unorm4Pack16: return "R12X4G12X4B12X4A12X4Unorm4Pack16";
39757  case Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: return "G12X4B12X4G12X4R12X4422Unorm4Pack16";
39758  case Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: return "B12X4G12X4R12X4G12X4422Unorm4Pack16";
39759  case Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: return "G12X4B12X4R12X43Plane420Unorm3Pack16";
39760  case Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: return "G12X4B12X4R12X42Plane420Unorm3Pack16";
39761  case Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: return "G12X4B12X4R12X43Plane422Unorm3Pack16";
39762  case Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: return "G12X4B12X4R12X42Plane422Unorm3Pack16";
39763  case Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: return "G12X4B12X4R12X43Plane444Unorm3Pack16";
39764  case Format::eG16B16G16R16422Unorm: return "G16B16G16R16422Unorm";
39765  case Format::eB16G16R16G16422Unorm: return "B16G16R16G16422Unorm";
39766  case Format::eG16B16R163Plane420Unorm: return "G16B16R163Plane420Unorm";
39767  case Format::eG16B16R162Plane420Unorm: return "G16B16R162Plane420Unorm";
39768  case Format::eG16B16R163Plane422Unorm: return "G16B16R163Plane422Unorm";
39769  case Format::eG16B16R162Plane422Unorm: return "G16B16R162Plane422Unorm";
39770  case Format::eG16B16R163Plane444Unorm: return "G16B16R163Plane444Unorm";
39771  case Format::ePvrtc12BppUnormBlockIMG: return "Pvrtc12BppUnormBlockIMG";
39772  case Format::ePvrtc14BppUnormBlockIMG: return "Pvrtc14BppUnormBlockIMG";
39773  case Format::ePvrtc22BppUnormBlockIMG: return "Pvrtc22BppUnormBlockIMG";
39774  case Format::ePvrtc24BppUnormBlockIMG: return "Pvrtc24BppUnormBlockIMG";
39775  case Format::ePvrtc12BppSrgbBlockIMG: return "Pvrtc12BppSrgbBlockIMG";
39776  case Format::ePvrtc14BppSrgbBlockIMG: return "Pvrtc14BppSrgbBlockIMG";
39777  case Format::ePvrtc22BppSrgbBlockIMG: return "Pvrtc22BppSrgbBlockIMG";
39778  case Format::ePvrtc24BppSrgbBlockIMG: return "Pvrtc24BppSrgbBlockIMG";
39779  default: return "invalid";
39780  }
39781  }
39782 
39784  {
39785  switch (value)
39786  {
39787  case StructureType::eApplicationInfo: return "ApplicationInfo";
39788  case StructureType::eInstanceCreateInfo: return "InstanceCreateInfo";
39789  case StructureType::eDeviceQueueCreateInfo: return "DeviceQueueCreateInfo";
39790  case StructureType::eDeviceCreateInfo: return "DeviceCreateInfo";
39791  case StructureType::eSubmitInfo: return "SubmitInfo";
39792  case StructureType::eMemoryAllocateInfo: return "MemoryAllocateInfo";
39793  case StructureType::eMappedMemoryRange: return "MappedMemoryRange";
39794  case StructureType::eBindSparseInfo: return "BindSparseInfo";
39795  case StructureType::eFenceCreateInfo: return "FenceCreateInfo";
39796  case StructureType::eSemaphoreCreateInfo: return "SemaphoreCreateInfo";
39797  case StructureType::eEventCreateInfo: return "EventCreateInfo";
39798  case StructureType::eQueryPoolCreateInfo: return "QueryPoolCreateInfo";
39799  case StructureType::eBufferCreateInfo: return "BufferCreateInfo";
39800  case StructureType::eBufferViewCreateInfo: return "BufferViewCreateInfo";
39801  case StructureType::eImageCreateInfo: return "ImageCreateInfo";
39802  case StructureType::eImageViewCreateInfo: return "ImageViewCreateInfo";
39803  case StructureType::eShaderModuleCreateInfo: return "ShaderModuleCreateInfo";
39804  case StructureType::ePipelineCacheCreateInfo: return "PipelineCacheCreateInfo";
39805  case StructureType::ePipelineShaderStageCreateInfo: return "PipelineShaderStageCreateInfo";
39806  case StructureType::ePipelineVertexInputStateCreateInfo: return "PipelineVertexInputStateCreateInfo";
39807  case StructureType::ePipelineInputAssemblyStateCreateInfo: return "PipelineInputAssemblyStateCreateInfo";
39808  case StructureType::ePipelineTessellationStateCreateInfo: return "PipelineTessellationStateCreateInfo";
39809  case StructureType::ePipelineViewportStateCreateInfo: return "PipelineViewportStateCreateInfo";
39810  case StructureType::ePipelineRasterizationStateCreateInfo: return "PipelineRasterizationStateCreateInfo";
39811  case StructureType::ePipelineMultisampleStateCreateInfo: return "PipelineMultisampleStateCreateInfo";
39812  case StructureType::ePipelineDepthStencilStateCreateInfo: return "PipelineDepthStencilStateCreateInfo";
39813  case StructureType::ePipelineColorBlendStateCreateInfo: return "PipelineColorBlendStateCreateInfo";
39814  case StructureType::ePipelineDynamicStateCreateInfo: return "PipelineDynamicStateCreateInfo";
39815  case StructureType::eGraphicsPipelineCreateInfo: return "GraphicsPipelineCreateInfo";
39816  case StructureType::eComputePipelineCreateInfo: return "ComputePipelineCreateInfo";
39817  case StructureType::ePipelineLayoutCreateInfo: return "PipelineLayoutCreateInfo";
39818  case StructureType::eSamplerCreateInfo: return "SamplerCreateInfo";
39819  case StructureType::eDescriptorSetLayoutCreateInfo: return "DescriptorSetLayoutCreateInfo";
39820  case StructureType::eDescriptorPoolCreateInfo: return "DescriptorPoolCreateInfo";
39821  case StructureType::eDescriptorSetAllocateInfo: return "DescriptorSetAllocateInfo";
39822  case StructureType::eWriteDescriptorSet: return "WriteDescriptorSet";
39823  case StructureType::eCopyDescriptorSet: return "CopyDescriptorSet";
39824  case StructureType::eFramebufferCreateInfo: return "FramebufferCreateInfo";
39825  case StructureType::eRenderPassCreateInfo: return "RenderPassCreateInfo";
39826  case StructureType::eCommandPoolCreateInfo: return "CommandPoolCreateInfo";
39827  case StructureType::eCommandBufferAllocateInfo: return "CommandBufferAllocateInfo";
39828  case StructureType::eCommandBufferInheritanceInfo: return "CommandBufferInheritanceInfo";
39829  case StructureType::eCommandBufferBeginInfo: return "CommandBufferBeginInfo";
39830  case StructureType::eRenderPassBeginInfo: return "RenderPassBeginInfo";
39831  case StructureType::eBufferMemoryBarrier: return "BufferMemoryBarrier";
39832  case StructureType::eImageMemoryBarrier: return "ImageMemoryBarrier";
39833  case StructureType::eMemoryBarrier: return "MemoryBarrier";
39834  case StructureType::eLoaderInstanceCreateInfo: return "LoaderInstanceCreateInfo";
39835  case StructureType::eLoaderDeviceCreateInfo: return "LoaderDeviceCreateInfo";
39836  case StructureType::ePhysicalDeviceSubgroupProperties: return "PhysicalDeviceSubgroupProperties";
39837  case StructureType::eBindBufferMemoryInfo: return "BindBufferMemoryInfo";
39838  case StructureType::eBindImageMemoryInfo: return "BindImageMemoryInfo";
39839  case StructureType::ePhysicalDevice16BitStorageFeatures: return "PhysicalDevice16BitStorageFeatures";
39840  case StructureType::eMemoryDedicatedRequirements: return "MemoryDedicatedRequirements";
39841  case StructureType::eMemoryDedicatedAllocateInfo: return "MemoryDedicatedAllocateInfo";
39842  case StructureType::eMemoryAllocateFlagsInfo: return "MemoryAllocateFlagsInfo";
39843  case StructureType::eDeviceGroupRenderPassBeginInfo: return "DeviceGroupRenderPassBeginInfo";
39844  case StructureType::eDeviceGroupCommandBufferBeginInfo: return "DeviceGroupCommandBufferBeginInfo";
39845  case StructureType::eDeviceGroupSubmitInfo: return "DeviceGroupSubmitInfo";
39846  case StructureType::eDeviceGroupBindSparseInfo: return "DeviceGroupBindSparseInfo";
39847  case StructureType::eBindBufferMemoryDeviceGroupInfo: return "BindBufferMemoryDeviceGroupInfo";
39848  case StructureType::eBindImageMemoryDeviceGroupInfo: return "BindImageMemoryDeviceGroupInfo";
39849  case StructureType::ePhysicalDeviceGroupProperties: return "PhysicalDeviceGroupProperties";
39850  case StructureType::eDeviceGroupDeviceCreateInfo: return "DeviceGroupDeviceCreateInfo";
39851  case StructureType::eBufferMemoryRequirementsInfo2: return "BufferMemoryRequirementsInfo2";
39852  case StructureType::eImageMemoryRequirementsInfo2: return "ImageMemoryRequirementsInfo2";
39853  case StructureType::eImageSparseMemoryRequirementsInfo2: return "ImageSparseMemoryRequirementsInfo2";
39854  case StructureType::eMemoryRequirements2: return "MemoryRequirements2";
39855  case StructureType::eSparseImageMemoryRequirements2: return "SparseImageMemoryRequirements2";
39856  case StructureType::ePhysicalDeviceFeatures2: return "PhysicalDeviceFeatures2";
39857  case StructureType::ePhysicalDeviceProperties2: return "PhysicalDeviceProperties2";
39858  case StructureType::eFormatProperties2: return "FormatProperties2";
39859  case StructureType::eImageFormatProperties2: return "ImageFormatProperties2";
39860  case StructureType::ePhysicalDeviceImageFormatInfo2: return "PhysicalDeviceImageFormatInfo2";
39861  case StructureType::eQueueFamilyProperties2: return "QueueFamilyProperties2";
39862  case StructureType::ePhysicalDeviceMemoryProperties2: return "PhysicalDeviceMemoryProperties2";
39863  case StructureType::eSparseImageFormatProperties2: return "SparseImageFormatProperties2";
39864  case StructureType::ePhysicalDeviceSparseImageFormatInfo2: return "PhysicalDeviceSparseImageFormatInfo2";
39865  case StructureType::ePhysicalDevicePointClippingProperties: return "PhysicalDevicePointClippingProperties";
39866  case StructureType::eRenderPassInputAttachmentAspectCreateInfo: return "RenderPassInputAttachmentAspectCreateInfo";
39867  case StructureType::eImageViewUsageCreateInfo: return "ImageViewUsageCreateInfo";
39868  case StructureType::ePipelineTessellationDomainOriginStateCreateInfo: return "PipelineTessellationDomainOriginStateCreateInfo";
39869  case StructureType::eRenderPassMultiviewCreateInfo: return "RenderPassMultiviewCreateInfo";
39870  case StructureType::ePhysicalDeviceMultiviewFeatures: return "PhysicalDeviceMultiviewFeatures";
39871  case StructureType::ePhysicalDeviceMultiviewProperties: return "PhysicalDeviceMultiviewProperties";
39872  case StructureType::ePhysicalDeviceVariablePointerFeatures: return "PhysicalDeviceVariablePointerFeatures";
39873  case StructureType::eProtectedSubmitInfo: return "ProtectedSubmitInfo";
39874  case StructureType::ePhysicalDeviceProtectedMemoryFeatures: return "PhysicalDeviceProtectedMemoryFeatures";
39875  case StructureType::ePhysicalDeviceProtectedMemoryProperties: return "PhysicalDeviceProtectedMemoryProperties";
39876  case StructureType::eDeviceQueueInfo2: return "DeviceQueueInfo2";
39877  case StructureType::eSamplerYcbcrConversionCreateInfo: return "SamplerYcbcrConversionCreateInfo";
39878  case StructureType::eSamplerYcbcrConversionInfo: return "SamplerYcbcrConversionInfo";
39879  case StructureType::eBindImagePlaneMemoryInfo: return "BindImagePlaneMemoryInfo";
39880  case StructureType::eImagePlaneMemoryRequirementsInfo: return "ImagePlaneMemoryRequirementsInfo";
39881  case StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures: return "PhysicalDeviceSamplerYcbcrConversionFeatures";
39882  case StructureType::eSamplerYcbcrConversionImageFormatProperties: return "SamplerYcbcrConversionImageFormatProperties";
39883  case StructureType::eDescriptorUpdateTemplateCreateInfo: return "DescriptorUpdateTemplateCreateInfo";
39884  case StructureType::ePhysicalDeviceExternalImageFormatInfo: return "PhysicalDeviceExternalImageFormatInfo";
39885  case StructureType::eExternalImageFormatProperties: return "ExternalImageFormatProperties";
39886  case StructureType::ePhysicalDeviceExternalBufferInfo: return "PhysicalDeviceExternalBufferInfo";
39887  case StructureType::eExternalBufferProperties: return "ExternalBufferProperties";
39888  case StructureType::ePhysicalDeviceIdProperties: return "PhysicalDeviceIdProperties";
39889  case StructureType::eExternalMemoryBufferCreateInfo: return "ExternalMemoryBufferCreateInfo";
39890  case StructureType::eExternalMemoryImageCreateInfo: return "ExternalMemoryImageCreateInfo";
39891  case StructureType::eExportMemoryAllocateInfo: return "ExportMemoryAllocateInfo";
39892  case StructureType::ePhysicalDeviceExternalFenceInfo: return "PhysicalDeviceExternalFenceInfo";
39893  case StructureType::eExternalFenceProperties: return "ExternalFenceProperties";
39894  case StructureType::eExportFenceCreateInfo: return "ExportFenceCreateInfo";
39895  case StructureType::eExportSemaphoreCreateInfo: return "ExportSemaphoreCreateInfo";
39896  case StructureType::ePhysicalDeviceExternalSemaphoreInfo: return "PhysicalDeviceExternalSemaphoreInfo";
39897  case StructureType::eExternalSemaphoreProperties: return "ExternalSemaphoreProperties";
39898  case StructureType::ePhysicalDeviceMaintenance3Properties: return "PhysicalDeviceMaintenance3Properties";
39899  case StructureType::eDescriptorSetLayoutSupport: return "DescriptorSetLayoutSupport";
39900  case StructureType::ePhysicalDeviceShaderDrawParameterFeatures: return "PhysicalDeviceShaderDrawParameterFeatures";
39901  case StructureType::eSwapchainCreateInfoKHR: return "SwapchainCreateInfoKHR";
39902  case StructureType::ePresentInfoKHR: return "PresentInfoKHR";
39903  case StructureType::eDeviceGroupPresentCapabilitiesKHR: return "DeviceGroupPresentCapabilitiesKHR";
39904  case StructureType::eImageSwapchainCreateInfoKHR: return "ImageSwapchainCreateInfoKHR";
39905  case StructureType::eBindImageMemorySwapchainInfoKHR: return "BindImageMemorySwapchainInfoKHR";
39906  case StructureType::eAcquireNextImageInfoKHR: return "AcquireNextImageInfoKHR";
39907  case StructureType::eDeviceGroupPresentInfoKHR: return "DeviceGroupPresentInfoKHR";
39908  case StructureType::eDeviceGroupSwapchainCreateInfoKHR: return "DeviceGroupSwapchainCreateInfoKHR";
39909  case StructureType::eDisplayModeCreateInfoKHR: return "DisplayModeCreateInfoKHR";
39910  case StructureType::eDisplaySurfaceCreateInfoKHR: return "DisplaySurfaceCreateInfoKHR";
39911  case StructureType::eDisplayPresentInfoKHR: return "DisplayPresentInfoKHR";
39912  case StructureType::eXlibSurfaceCreateInfoKHR: return "XlibSurfaceCreateInfoKHR";
39913  case StructureType::eXcbSurfaceCreateInfoKHR: return "XcbSurfaceCreateInfoKHR";
39914  case StructureType::eWaylandSurfaceCreateInfoKHR: return "WaylandSurfaceCreateInfoKHR";
39915  case StructureType::eMirSurfaceCreateInfoKHR: return "MirSurfaceCreateInfoKHR";
39916  case StructureType::eAndroidSurfaceCreateInfoKHR: return "AndroidSurfaceCreateInfoKHR";
39917  case StructureType::eWin32SurfaceCreateInfoKHR: return "Win32SurfaceCreateInfoKHR";
39918  case StructureType::eDebugReportCallbackCreateInfoEXT: return "DebugReportCallbackCreateInfoEXT";
39919  case StructureType::ePipelineRasterizationStateRasterizationOrderAMD: return "PipelineRasterizationStateRasterizationOrderAMD";
39920  case StructureType::eDebugMarkerObjectNameInfoEXT: return "DebugMarkerObjectNameInfoEXT";
39921  case StructureType::eDebugMarkerObjectTagInfoEXT: return "DebugMarkerObjectTagInfoEXT";
39922  case StructureType::eDebugMarkerMarkerInfoEXT: return "DebugMarkerMarkerInfoEXT";
39923  case StructureType::eDedicatedAllocationImageCreateInfoNV: return "DedicatedAllocationImageCreateInfoNV";
39924  case StructureType::eDedicatedAllocationBufferCreateInfoNV: return "DedicatedAllocationBufferCreateInfoNV";
39925  case StructureType::eDedicatedAllocationMemoryAllocateInfoNV: return "DedicatedAllocationMemoryAllocateInfoNV";
39926  case StructureType::eTextureLodGatherFormatPropertiesAMD: return "TextureLodGatherFormatPropertiesAMD";
39927  case StructureType::eExternalMemoryImageCreateInfoNV: return "ExternalMemoryImageCreateInfoNV";
39928  case StructureType::eExportMemoryAllocateInfoNV: return "ExportMemoryAllocateInfoNV";
39929  case StructureType::eImportMemoryWin32HandleInfoNV: return "ImportMemoryWin32HandleInfoNV";
39930  case StructureType::eExportMemoryWin32HandleInfoNV: return "ExportMemoryWin32HandleInfoNV";
39931  case StructureType::eWin32KeyedMutexAcquireReleaseInfoNV: return "Win32KeyedMutexAcquireReleaseInfoNV";
39932  case StructureType::eValidationFlagsEXT: return "ValidationFlagsEXT";
39933  case StructureType::eViSurfaceCreateInfoNN: return "ViSurfaceCreateInfoNN";
39934  case StructureType::eImportMemoryWin32HandleInfoKHR: return "ImportMemoryWin32HandleInfoKHR";
39935  case StructureType::eExportMemoryWin32HandleInfoKHR: return "ExportMemoryWin32HandleInfoKHR";
39936  case StructureType::eMemoryWin32HandlePropertiesKHR: return "MemoryWin32HandlePropertiesKHR";
39937  case StructureType::eMemoryGetWin32HandleInfoKHR: return "MemoryGetWin32HandleInfoKHR";
39938  case StructureType::eImportMemoryFdInfoKHR: return "ImportMemoryFdInfoKHR";
39939  case StructureType::eMemoryFdPropertiesKHR: return "MemoryFdPropertiesKHR";
39940  case StructureType::eMemoryGetFdInfoKHR: return "MemoryGetFdInfoKHR";
39941  case StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR: return "Win32KeyedMutexAcquireReleaseInfoKHR";
39942  case StructureType::eImportSemaphoreWin32HandleInfoKHR: return "ImportSemaphoreWin32HandleInfoKHR";
39943  case StructureType::eExportSemaphoreWin32HandleInfoKHR: return "ExportSemaphoreWin32HandleInfoKHR";
39944  case StructureType::eD3D12FenceSubmitInfoKHR: return "D3D12FenceSubmitInfoKHR";
39945  case StructureType::eSemaphoreGetWin32HandleInfoKHR: return "SemaphoreGetWin32HandleInfoKHR";
39946  case StructureType::eImportSemaphoreFdInfoKHR: return "ImportSemaphoreFdInfoKHR";
39947  case StructureType::eSemaphoreGetFdInfoKHR: return "SemaphoreGetFdInfoKHR";
39948  case StructureType::ePhysicalDevicePushDescriptorPropertiesKHR: return "PhysicalDevicePushDescriptorPropertiesKHR";
39949  case StructureType::ePresentRegionsKHR: return "PresentRegionsKHR";
39950  case StructureType::eObjectTableCreateInfoNVX: return "ObjectTableCreateInfoNVX";
39951  case StructureType::eIndirectCommandsLayoutCreateInfoNVX: return "IndirectCommandsLayoutCreateInfoNVX";
39952  case StructureType::eCmdProcessCommandsInfoNVX: return "CmdProcessCommandsInfoNVX";
39953  case StructureType::eCmdReserveSpaceForCommandsInfoNVX: return "CmdReserveSpaceForCommandsInfoNVX";
39954  case StructureType::eDeviceGeneratedCommandsLimitsNVX: return "DeviceGeneratedCommandsLimitsNVX";
39955  case StructureType::eDeviceGeneratedCommandsFeaturesNVX: return "DeviceGeneratedCommandsFeaturesNVX";
39956  case StructureType::ePipelineViewportWScalingStateCreateInfoNV: return "PipelineViewportWScalingStateCreateInfoNV";
39957  case StructureType::eSurfaceCapabilities2EXT: return "SurfaceCapabilities2EXT";
39958  case StructureType::eDisplayPowerInfoEXT: return "DisplayPowerInfoEXT";
39959  case StructureType::eDeviceEventInfoEXT: return "DeviceEventInfoEXT";
39960  case StructureType::eDisplayEventInfoEXT: return "DisplayEventInfoEXT";
39961  case StructureType::eSwapchainCounterCreateInfoEXT: return "SwapchainCounterCreateInfoEXT";
39962  case StructureType::ePresentTimesInfoGOOGLE: return "PresentTimesInfoGOOGLE";
39963  case StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX: return "PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX";
39964  case StructureType::ePipelineViewportSwizzleStateCreateInfoNV: return "PipelineViewportSwizzleStateCreateInfoNV";
39965  case StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT: return "PhysicalDeviceDiscardRectanglePropertiesEXT";
39966  case StructureType::ePipelineDiscardRectangleStateCreateInfoEXT: return "PipelineDiscardRectangleStateCreateInfoEXT";
39967  case StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT: return "PhysicalDeviceConservativeRasterizationPropertiesEXT";
39968  case StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT: return "PipelineRasterizationConservativeStateCreateInfoEXT";
39969  case StructureType::eHdrMetadataEXT: return "HdrMetadataEXT";
39970  case StructureType::eSharedPresentSurfaceCapabilitiesKHR: return "SharedPresentSurfaceCapabilitiesKHR";
39971  case StructureType::eImportFenceWin32HandleInfoKHR: return "ImportFenceWin32HandleInfoKHR";
39972  case StructureType::eExportFenceWin32HandleInfoKHR: return "ExportFenceWin32HandleInfoKHR";
39973  case StructureType::eFenceGetWin32HandleInfoKHR: return "FenceGetWin32HandleInfoKHR";
39974  case StructureType::eImportFenceFdInfoKHR: return "ImportFenceFdInfoKHR";
39975  case StructureType::eFenceGetFdInfoKHR: return "FenceGetFdInfoKHR";
39976  case StructureType::ePhysicalDeviceSurfaceInfo2KHR: return "PhysicalDeviceSurfaceInfo2KHR";
39977  case StructureType::eSurfaceCapabilities2KHR: return "SurfaceCapabilities2KHR";
39978  case StructureType::eSurfaceFormat2KHR: return "SurfaceFormat2KHR";
39979  case StructureType::eIosSurfaceCreateInfoMVK: return "IosSurfaceCreateInfoMVK";
39980  case StructureType::eMacosSurfaceCreateInfoMVK: return "MacosSurfaceCreateInfoMVK";
39981  case StructureType::eDebugUtilsObjectNameInfoEXT: return "DebugUtilsObjectNameInfoEXT";
39982  case StructureType::eDebugUtilsObjectTagInfoEXT: return "DebugUtilsObjectTagInfoEXT";
39983  case StructureType::eDebugUtilsLabelEXT: return "DebugUtilsLabelEXT";
39984  case StructureType::eDebugUtilsMessengerCallbackDataEXT: return "DebugUtilsMessengerCallbackDataEXT";
39985  case StructureType::eDebugUtilsMessengerCreateInfoEXT: return "DebugUtilsMessengerCreateInfoEXT";
39986  case StructureType::eAndroidHardwareBufferUsageANDROID: return "AndroidHardwareBufferUsageANDROID";
39987  case StructureType::eAndroidHardwareBufferPropertiesANDROID: return "AndroidHardwareBufferPropertiesANDROID";
39988  case StructureType::eAndroidHardwareBufferFormatPropertiesANDROID: return "AndroidHardwareBufferFormatPropertiesANDROID";
39989  case StructureType::eImportAndroidHardwareBufferInfoANDROID: return "ImportAndroidHardwareBufferInfoANDROID";
39990  case StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID: return "MemoryGetAndroidHardwareBufferInfoANDROID";
39991  case StructureType::eExternalFormatANDROID: return "ExternalFormatANDROID";
39992  case StructureType::ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT: return "PhysicalDeviceSamplerFilterMinmaxPropertiesEXT";
39993  case StructureType::eSamplerReductionModeCreateInfoEXT: return "SamplerReductionModeCreateInfoEXT";
39994  case StructureType::eSampleLocationsInfoEXT: return "SampleLocationsInfoEXT";
39995  case StructureType::eRenderPassSampleLocationsBeginInfoEXT: return "RenderPassSampleLocationsBeginInfoEXT";
39996  case StructureType::ePipelineSampleLocationsStateCreateInfoEXT: return "PipelineSampleLocationsStateCreateInfoEXT";
39997  case StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT: return "PhysicalDeviceSampleLocationsPropertiesEXT";
39998  case StructureType::eMultisamplePropertiesEXT: return "MultisamplePropertiesEXT";
39999  case StructureType::eImageFormatListCreateInfoKHR: return "ImageFormatListCreateInfoKHR";
40000  case StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT: return "PhysicalDeviceBlendOperationAdvancedFeaturesEXT";
40001  case StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT: return "PhysicalDeviceBlendOperationAdvancedPropertiesEXT";
40002  case StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT: return "PipelineColorBlendAdvancedStateCreateInfoEXT";
40003  case StructureType::ePipelineCoverageToColorStateCreateInfoNV: return "PipelineCoverageToColorStateCreateInfoNV";
40004  case StructureType::ePipelineCoverageModulationStateCreateInfoNV: return "PipelineCoverageModulationStateCreateInfoNV";
40005  case StructureType::eValidationCacheCreateInfoEXT: return "ValidationCacheCreateInfoEXT";
40006  case StructureType::eShaderModuleValidationCacheCreateInfoEXT: return "ShaderModuleValidationCacheCreateInfoEXT";
40007  case StructureType::eDescriptorSetLayoutBindingFlagsCreateInfoEXT: return "DescriptorSetLayoutBindingFlagsCreateInfoEXT";
40008  case StructureType::ePhysicalDeviceDescriptorIndexingFeaturesEXT: return "PhysicalDeviceDescriptorIndexingFeaturesEXT";
40009  case StructureType::ePhysicalDeviceDescriptorIndexingPropertiesEXT: return "PhysicalDeviceDescriptorIndexingPropertiesEXT";
40010  case StructureType::eDescriptorSetVariableDescriptorCountAllocateInfoEXT: return "DescriptorSetVariableDescriptorCountAllocateInfoEXT";
40011  case StructureType::eDescriptorSetVariableDescriptorCountLayoutSupportEXT: return "DescriptorSetVariableDescriptorCountLayoutSupportEXT";
40012  case StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT: return "DeviceQueueGlobalPriorityCreateInfoEXT";
40013  case StructureType::eImportMemoryHostPointerInfoEXT: return "ImportMemoryHostPointerInfoEXT";
40014  case StructureType::eMemoryHostPointerPropertiesEXT: return "MemoryHostPointerPropertiesEXT";
40015  case StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT: return "PhysicalDeviceExternalMemoryHostPropertiesEXT";
40016  case StructureType::ePhysicalDeviceShaderCorePropertiesAMD: return "PhysicalDeviceShaderCorePropertiesAMD";
40017  case StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT: return "PhysicalDeviceVertexAttributeDivisorPropertiesEXT";
40018  case StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT: return "PipelineVertexInputDivisorStateCreateInfoEXT";
40019  default: return "invalid";
40020  }
40021  }
40022 
40024  {
40025  switch (value)
40026  {
40027  case SubpassContents::eInline: return "Inline";
40028  case SubpassContents::eSecondaryCommandBuffers: return "SecondaryCommandBuffers";
40029  default: return "invalid";
40030  }
40031  }
40032 
40034  {
40035  switch (value)
40036  {
40037  case DynamicState::eViewport: return "Viewport";
40038  case DynamicState::eScissor: return "Scissor";
40039  case DynamicState::eLineWidth: return "LineWidth";
40040  case DynamicState::eDepthBias: return "DepthBias";
40041  case DynamicState::eBlendConstants: return "BlendConstants";
40042  case DynamicState::eDepthBounds: return "DepthBounds";
40043  case DynamicState::eStencilCompareMask: return "StencilCompareMask";
40044  case DynamicState::eStencilWriteMask: return "StencilWriteMask";
40045  case DynamicState::eStencilReference: return "StencilReference";
40046  case DynamicState::eViewportWScalingNV: return "ViewportWScalingNV";
40047  case DynamicState::eDiscardRectangleEXT: return "DiscardRectangleEXT";
40048  case DynamicState::eSampleLocationsEXT: return "SampleLocationsEXT";
40049  default: return "invalid";
40050  }
40051  }
40052 
40054  {
40055  switch (value)
40056  {
40057  case DescriptorUpdateTemplateType::eDescriptorSet: return "DescriptorSet";
40058  case DescriptorUpdateTemplateType::ePushDescriptorsKHR: return "PushDescriptorsKHR";
40059  default: return "invalid";
40060  }
40061  }
40062 
40064  {
40065  switch (value)
40066  {
40067  case ObjectType::eUnknown: return "Unknown";
40068  case ObjectType::eInstance: return "Instance";
40069  case ObjectType::ePhysicalDevice: return "PhysicalDevice";
40070  case ObjectType::eDevice: return "Device";
40071  case ObjectType::eQueue: return "Queue";
40072  case ObjectType::eSemaphore: return "Semaphore";
40073  case ObjectType::eCommandBuffer: return "CommandBuffer";
40074  case ObjectType::eFence: return "Fence";
40075  case ObjectType::eDeviceMemory: return "DeviceMemory";
40076  case ObjectType::eBuffer: return "Buffer";
40077  case ObjectType::eImage: return "Image";
40078  case ObjectType::eEvent: return "Event";
40079  case ObjectType::eQueryPool: return "QueryPool";
40080  case ObjectType::eBufferView: return "BufferView";
40081  case ObjectType::eImageView: return "ImageView";
40082  case ObjectType::eShaderModule: return "ShaderModule";
40083  case ObjectType::ePipelineCache: return "PipelineCache";
40084  case ObjectType::ePipelineLayout: return "PipelineLayout";
40085  case ObjectType::eRenderPass: return "RenderPass";
40086  case ObjectType::ePipeline: return "Pipeline";
40087  case ObjectType::eDescriptorSetLayout: return "DescriptorSetLayout";
40088  case ObjectType::eSampler: return "Sampler";
40089  case ObjectType::eDescriptorPool: return "DescriptorPool";
40090  case ObjectType::eDescriptorSet: return "DescriptorSet";
40091  case ObjectType::eFramebuffer: return "Framebuffer";
40092  case ObjectType::eCommandPool: return "CommandPool";
40093  case ObjectType::eSamplerYcbcrConversion: return "SamplerYcbcrConversion";
40094  case ObjectType::eDescriptorUpdateTemplate: return "DescriptorUpdateTemplate";
40095  case ObjectType::eSurfaceKHR: return "SurfaceKHR";
40096  case ObjectType::eSwapchainKHR: return "SwapchainKHR";
40097  case ObjectType::eDisplayKHR: return "DisplayKHR";
40098  case ObjectType::eDisplayModeKHR: return "DisplayModeKHR";
40099  case ObjectType::eDebugReportCallbackEXT: return "DebugReportCallbackEXT";
40100  case ObjectType::eObjectTableNVX: return "ObjectTableNVX";
40101  case ObjectType::eIndirectCommandsLayoutNVX: return "IndirectCommandsLayoutNVX";
40102  case ObjectType::eDebugUtilsMessengerEXT: return "DebugUtilsMessengerEXT";
40103  case ObjectType::eValidationCacheEXT: return "ValidationCacheEXT";
40104  default: return "invalid";
40105  }
40106  }
40107 
40109  {
40110  switch (value)
40111  {
40112  case QueueFlagBits::eGraphics: return "Graphics";
40113  case QueueFlagBits::eCompute: return "Compute";
40114  case QueueFlagBits::eTransfer: return "Transfer";
40115  case QueueFlagBits::eSparseBinding: return "SparseBinding";
40116  case QueueFlagBits::eProtected: return "Protected";
40117  default: return "invalid";
40118  }
40119  }
40120 
40122  {
40123  if (!value) return "{}";
40125  if (value & QueueFlagBits::eGraphics) result += "Graphics | ";
40126  if (value & QueueFlagBits::eCompute) result += "Compute | ";
40127  if (value & QueueFlagBits::eTransfer) result += "Transfer | ";
40128  if (value & QueueFlagBits::eSparseBinding) result += "SparseBinding | ";
40129  if (value & QueueFlagBits::eProtected) result += "Protected | ";
40130  return "{" + result.substr(0, result.size() - 3) + "}";
40131  }
40132 
40134  {
40135  switch (value)
40136  {
40137  case DeviceQueueCreateFlagBits::eProtected: return "Protected";
40138  default: return "invalid";
40139  }
40140  }
40141 
40143  {
40144  if (!value) return "{}";
40146  if (value & DeviceQueueCreateFlagBits::eProtected) result += "Protected | ";
40147  return "{" + result.substr(0, result.size() - 3) + "}";
40148  }
40149 
40151  {
40152  switch (value)
40153  {
40154  case MemoryPropertyFlagBits::eDeviceLocal: return "DeviceLocal";
40155  case MemoryPropertyFlagBits::eHostVisible: return "HostVisible";
40156  case MemoryPropertyFlagBits::eHostCoherent: return "HostCoherent";
40157  case MemoryPropertyFlagBits::eHostCached: return "HostCached";
40158  case MemoryPropertyFlagBits::eLazilyAllocated: return "LazilyAllocated";
40159  case MemoryPropertyFlagBits::eProtected: return "Protected";
40160  default: return "invalid";
40161  }
40162  }
40163 
40165  {
40166  if (!value) return "{}";
40168  if (value & MemoryPropertyFlagBits::eDeviceLocal) result += "DeviceLocal | ";
40169  if (value & MemoryPropertyFlagBits::eHostVisible) result += "HostVisible | ";
40170  if (value & MemoryPropertyFlagBits::eHostCoherent) result += "HostCoherent | ";
40171  if (value & MemoryPropertyFlagBits::eHostCached) result += "HostCached | ";
40172  if (value & MemoryPropertyFlagBits::eLazilyAllocated) result += "LazilyAllocated | ";
40173  if (value & MemoryPropertyFlagBits::eProtected) result += "Protected | ";
40174  return "{" + result.substr(0, result.size() - 3) + "}";
40175  }
40176 
40178  {
40179  switch (value)
40180  {
40181  case MemoryHeapFlagBits::eDeviceLocal: return "DeviceLocal";
40182  case MemoryHeapFlagBits::eMultiInstance: return "MultiInstance";
40183  default: return "invalid";
40184  }
40185  }
40186 
40188  {
40189  if (!value) return "{}";
40191  if (value & MemoryHeapFlagBits::eDeviceLocal) result += "DeviceLocal | ";
40192  if (value & MemoryHeapFlagBits::eMultiInstance) result += "MultiInstance | ";
40193  return "{" + result.substr(0, result.size() - 3) + "}";
40194  }
40195 
40197  {
40198  switch (value)
40199  {
40200  case AccessFlagBits::eIndirectCommandRead: return "IndirectCommandRead";
40201  case AccessFlagBits::eIndexRead: return "IndexRead";
40202  case AccessFlagBits::eVertexAttributeRead: return "VertexAttributeRead";
40203  case AccessFlagBits::eUniformRead: return "UniformRead";
40204  case AccessFlagBits::eInputAttachmentRead: return "InputAttachmentRead";
40205  case AccessFlagBits::eShaderRead: return "ShaderRead";
40206  case AccessFlagBits::eShaderWrite: return "ShaderWrite";
40207  case AccessFlagBits::eColorAttachmentRead: return "ColorAttachmentRead";
40208  case AccessFlagBits::eColorAttachmentWrite: return "ColorAttachmentWrite";
40209  case AccessFlagBits::eDepthStencilAttachmentRead: return "DepthStencilAttachmentRead";
40210  case AccessFlagBits::eDepthStencilAttachmentWrite: return "DepthStencilAttachmentWrite";
40211  case AccessFlagBits::eTransferRead: return "TransferRead";
40212  case AccessFlagBits::eTransferWrite: return "TransferWrite";
40213  case AccessFlagBits::eHostRead: return "HostRead";
40214  case AccessFlagBits::eHostWrite: return "HostWrite";
40215  case AccessFlagBits::eMemoryRead: return "MemoryRead";
40216  case AccessFlagBits::eMemoryWrite: return "MemoryWrite";
40217  case AccessFlagBits::eCommandProcessReadNVX: return "CommandProcessReadNVX";
40218  case AccessFlagBits::eCommandProcessWriteNVX: return "CommandProcessWriteNVX";
40219  case AccessFlagBits::eColorAttachmentReadNoncoherentEXT: return "ColorAttachmentReadNoncoherentEXT";
40220  default: return "invalid";
40221  }
40222  }
40223 
40225  {
40226  if (!value) return "{}";
40228  if (value & AccessFlagBits::eIndirectCommandRead) result += "IndirectCommandRead | ";
40229  if (value & AccessFlagBits::eIndexRead) result += "IndexRead | ";
40230  if (value & AccessFlagBits::eVertexAttributeRead) result += "VertexAttributeRead | ";
40231  if (value & AccessFlagBits::eUniformRead) result += "UniformRead | ";
40232  if (value & AccessFlagBits::eInputAttachmentRead) result += "InputAttachmentRead | ";
40233  if (value & AccessFlagBits::eShaderRead) result += "ShaderRead | ";
40234  if (value & AccessFlagBits::eShaderWrite) result += "ShaderWrite | ";
40235  if (value & AccessFlagBits::eColorAttachmentRead) result += "ColorAttachmentRead | ";
40236  if (value & AccessFlagBits::eColorAttachmentWrite) result += "ColorAttachmentWrite | ";
40237  if (value & AccessFlagBits::eDepthStencilAttachmentRead) result += "DepthStencilAttachmentRead | ";
40238  if (value & AccessFlagBits::eDepthStencilAttachmentWrite) result += "DepthStencilAttachmentWrite | ";
40239  if (value & AccessFlagBits::eTransferRead) result += "TransferRead | ";
40240  if (value & AccessFlagBits::eTransferWrite) result += "TransferWrite | ";
40241  if (value & AccessFlagBits::eHostRead) result += "HostRead | ";
40242  if (value & AccessFlagBits::eHostWrite) result += "HostWrite | ";
40243  if (value & AccessFlagBits::eMemoryRead) result += "MemoryRead | ";
40244  if (value & AccessFlagBits::eMemoryWrite) result += "MemoryWrite | ";
40245  if (value & AccessFlagBits::eCommandProcessReadNVX) result += "CommandProcessReadNVX | ";
40246  if (value & AccessFlagBits::eCommandProcessWriteNVX) result += "CommandProcessWriteNVX | ";
40247  if (value & AccessFlagBits::eColorAttachmentReadNoncoherentEXT) result += "ColorAttachmentReadNoncoherentEXT | ";
40248  return "{" + result.substr(0, result.size() - 3) + "}";
40249  }
40250 
40252  {
40253  switch (value)
40254  {
40255  case BufferUsageFlagBits::eTransferSrc: return "TransferSrc";
40256  case BufferUsageFlagBits::eTransferDst: return "TransferDst";
40257  case BufferUsageFlagBits::eUniformTexelBuffer: return "UniformTexelBuffer";
40258  case BufferUsageFlagBits::eStorageTexelBuffer: return "StorageTexelBuffer";
40259  case BufferUsageFlagBits::eUniformBuffer: return "UniformBuffer";
40260  case BufferUsageFlagBits::eStorageBuffer: return "StorageBuffer";
40261  case BufferUsageFlagBits::eIndexBuffer: return "IndexBuffer";
40262  case BufferUsageFlagBits::eVertexBuffer: return "VertexBuffer";
40263  case BufferUsageFlagBits::eIndirectBuffer: return "IndirectBuffer";
40264  default: return "invalid";
40265  }
40266  }
40267 
40269  {
40270  if (!value) return "{}";
40272  if (value & BufferUsageFlagBits::eTransferSrc) result += "TransferSrc | ";
40273  if (value & BufferUsageFlagBits::eTransferDst) result += "TransferDst | ";
40274  if (value & BufferUsageFlagBits::eUniformTexelBuffer) result += "UniformTexelBuffer | ";
40275  if (value & BufferUsageFlagBits::eStorageTexelBuffer) result += "StorageTexelBuffer | ";
40276  if (value & BufferUsageFlagBits::eUniformBuffer) result += "UniformBuffer | ";
40277  if (value & BufferUsageFlagBits::eStorageBuffer) result += "StorageBuffer | ";
40278  if (value & BufferUsageFlagBits::eIndexBuffer) result += "IndexBuffer | ";
40279  if (value & BufferUsageFlagBits::eVertexBuffer) result += "VertexBuffer | ";
40280  if (value & BufferUsageFlagBits::eIndirectBuffer) result += "IndirectBuffer | ";
40281  return "{" + result.substr(0, result.size() - 3) + "}";
40282  }
40283 
40285  {
40286  switch (value)
40287  {
40288  case BufferCreateFlagBits::eSparseBinding: return "SparseBinding";
40289  case BufferCreateFlagBits::eSparseResidency: return "SparseResidency";
40290  case BufferCreateFlagBits::eSparseAliased: return "SparseAliased";
40291  case BufferCreateFlagBits::eProtected: return "Protected";
40292  default: return "invalid";
40293  }
40294  }
40295 
40297  {
40298  if (!value) return "{}";
40300  if (value & BufferCreateFlagBits::eSparseBinding) result += "SparseBinding | ";
40301  if (value & BufferCreateFlagBits::eSparseResidency) result += "SparseResidency | ";
40302  if (value & BufferCreateFlagBits::eSparseAliased) result += "SparseAliased | ";
40303  if (value & BufferCreateFlagBits::eProtected) result += "Protected | ";
40304  return "{" + result.substr(0, result.size() - 3) + "}";
40305  }
40306 
40308  {
40309  switch (value)
40310  {
40311  case ShaderStageFlagBits::eVertex: return "Vertex";
40312  case ShaderStageFlagBits::eTessellationControl: return "TessellationControl";
40313  case ShaderStageFlagBits::eTessellationEvaluation: return "TessellationEvaluation";
40314  case ShaderStageFlagBits::eGeometry: return "Geometry";
40315  case ShaderStageFlagBits::eFragment: return "Fragment";
40316  case ShaderStageFlagBits::eCompute: return "Compute";
40317  case ShaderStageFlagBits::eAllGraphics: return "AllGraphics";
40318  case ShaderStageFlagBits::eAll: return "All";
40319  default: return "invalid";
40320  }
40321  }
40322 
40324  {
40325  if (!value) return "{}";
40327  if (value & ShaderStageFlagBits::eVertex) result += "Vertex | ";
40328  if (value & ShaderStageFlagBits::eTessellationControl) result += "TessellationControl | ";
40329  if (value & ShaderStageFlagBits::eTessellationEvaluation) result += "TessellationEvaluation | ";
40330  if (value & ShaderStageFlagBits::eGeometry) result += "Geometry | ";
40331  if (value & ShaderStageFlagBits::eFragment) result += "Fragment | ";
40332  if (value & ShaderStageFlagBits::eCompute) result += "Compute | ";
40333  if (value & ShaderStageFlagBits::eAllGraphics) result += "AllGraphics | ";
40334  if (value & ShaderStageFlagBits::eAll) result += "All | ";
40335  return "{" + result.substr(0, result.size() - 3) + "}";
40336  }
40337 
40339  {
40340  switch (value)
40341  {
40342  case ImageUsageFlagBits::eTransferSrc: return "TransferSrc";
40343  case ImageUsageFlagBits::eTransferDst: return "TransferDst";
40344  case ImageUsageFlagBits::eSampled: return "Sampled";
40345  case ImageUsageFlagBits::eStorage: return "Storage";
40346  case ImageUsageFlagBits::eColorAttachment: return "ColorAttachment";
40347  case ImageUsageFlagBits::eDepthStencilAttachment: return "DepthStencilAttachment";
40348  case ImageUsageFlagBits::eTransientAttachment: return "TransientAttachment";
40349  case ImageUsageFlagBits::eInputAttachment: return "InputAttachment";
40350  default: return "invalid";
40351  }
40352  }
40353 
40355  {
40356  if (!value) return "{}";
40358  if (value & ImageUsageFlagBits::eTransferSrc) result += "TransferSrc | ";
40359  if (value & ImageUsageFlagBits::eTransferDst) result += "TransferDst | ";
40360  if (value & ImageUsageFlagBits::eSampled) result += "Sampled | ";
40361  if (value & ImageUsageFlagBits::eStorage) result += "Storage | ";
40362  if (value & ImageUsageFlagBits::eColorAttachment) result += "ColorAttachment | ";
40363  if (value & ImageUsageFlagBits::eDepthStencilAttachment) result += "DepthStencilAttachment | ";
40364  if (value & ImageUsageFlagBits::eTransientAttachment) result += "TransientAttachment | ";
40365  if (value & ImageUsageFlagBits::eInputAttachment) result += "InputAttachment | ";
40366  return "{" + result.substr(0, result.size() - 3) + "}";
40367  }
40368 
40370  {
40371  switch (value)
40372  {
40373  case ImageCreateFlagBits::eSparseBinding: return "SparseBinding";
40374  case ImageCreateFlagBits::eSparseResidency: return "SparseResidency";
40375  case ImageCreateFlagBits::eSparseAliased: return "SparseAliased";
40376  case ImageCreateFlagBits::eMutableFormat: return "MutableFormat";
40377  case ImageCreateFlagBits::eCubeCompatible: return "CubeCompatible";
40378  case ImageCreateFlagBits::eAlias: return "Alias";
40379  case ImageCreateFlagBits::eSplitInstanceBindRegions: return "SplitInstanceBindRegions";
40380  case ImageCreateFlagBits::e2DArrayCompatible: return "2DArrayCompatible";
40381  case ImageCreateFlagBits::eBlockTexelViewCompatible: return "BlockTexelViewCompatible";
40382  case ImageCreateFlagBits::eExtendedUsage: return "ExtendedUsage";
40383  case ImageCreateFlagBits::eProtected: return "Protected";
40384  case ImageCreateFlagBits::eDisjoint: return "Disjoint";
40385  case ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT: return "SampleLocationsCompatibleDepthEXT";
40386  default: return "invalid";
40387  }
40388  }
40389 
40391  {
40392  if (!value) return "{}";
40394  if (value & ImageCreateFlagBits::eSparseBinding) result += "SparseBinding | ";
40395  if (value & ImageCreateFlagBits::eSparseResidency) result += "SparseResidency | ";
40396  if (value & ImageCreateFlagBits::eSparseAliased) result += "SparseAliased | ";
40397  if (value & ImageCreateFlagBits::eMutableFormat) result += "MutableFormat | ";
40398  if (value & ImageCreateFlagBits::eCubeCompatible) result += "CubeCompatible | ";
40399  if (value & ImageCreateFlagBits::eAlias) result += "Alias | ";
40400  if (value & ImageCreateFlagBits::eSplitInstanceBindRegions) result += "SplitInstanceBindRegions | ";
40401  if (value & ImageCreateFlagBits::e2DArrayCompatible) result += "2DArrayCompatible | ";
40402  if (value & ImageCreateFlagBits::eBlockTexelViewCompatible) result += "BlockTexelViewCompatible | ";
40403  if (value & ImageCreateFlagBits::eExtendedUsage) result += "ExtendedUsage | ";
40404  if (value & ImageCreateFlagBits::eProtected) result += "Protected | ";
40405  if (value & ImageCreateFlagBits::eDisjoint) result += "Disjoint | ";
40406  if (value & ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT) result += "SampleLocationsCompatibleDepthEXT | ";
40407  return "{" + result.substr(0, result.size() - 3) + "}";
40408  }
40409 
40411  {
40412  switch (value)
40413  {
40414  case PipelineCreateFlagBits::eDisableOptimization: return "DisableOptimization";
40415  case PipelineCreateFlagBits::eAllowDerivatives: return "AllowDerivatives";
40416  case PipelineCreateFlagBits::eDerivative: return "Derivative";
40417  case PipelineCreateFlagBits::eViewIndexFromDeviceIndex: return "ViewIndexFromDeviceIndex";
40418  case PipelineCreateFlagBits::eDispatchBase: return "DispatchBase";
40419  default: return "invalid";
40420  }
40421  }
40422 
40424  {
40425  if (!value) return "{}";
40427  if (value & PipelineCreateFlagBits::eDisableOptimization) result += "DisableOptimization | ";
40428  if (value & PipelineCreateFlagBits::eAllowDerivatives) result += "AllowDerivatives | ";
40429  if (value & PipelineCreateFlagBits::eDerivative) result += "Derivative | ";
40430  if (value & PipelineCreateFlagBits::eViewIndexFromDeviceIndex) result += "ViewIndexFromDeviceIndex | ";
40431  if (value & PipelineCreateFlagBits::eDispatchBase) result += "DispatchBase | ";
40432  return "{" + result.substr(0, result.size() - 3) + "}";
40433  }
40434 
40436  {
40437  switch (value)
40438  {
40439  case ColorComponentFlagBits::eR: return "R";
40440  case ColorComponentFlagBits::eG: return "G";
40441  case ColorComponentFlagBits::eB: return "B";
40442  case ColorComponentFlagBits::eA: return "A";
40443  default: return "invalid";
40444  }
40445  }
40446 
40448  {
40449  if (!value) return "{}";
40451  if (value & ColorComponentFlagBits::eR) result += "R | ";
40452  if (value & ColorComponentFlagBits::eG) result += "G | ";
40453  if (value & ColorComponentFlagBits::eB) result += "B | ";
40454  if (value & ColorComponentFlagBits::eA) result += "A | ";
40455  return "{" + result.substr(0, result.size() - 3) + "}";
40456  }
40457 
40459  {
40460  switch (value)
40461  {
40462  case FenceCreateFlagBits::eSignaled: return "Signaled";
40463  default: return "invalid";
40464  }
40465  }
40466 
40468  {
40469  if (!value) return "{}";
40471  if (value & FenceCreateFlagBits::eSignaled) result += "Signaled | ";
40472  return "{" + result.substr(0, result.size() - 3) + "}";
40473  }
40474 
40476  {
40477  switch (value)
40478  {
40479  case FormatFeatureFlagBits::eSampledImage: return "SampledImage";
40480  case FormatFeatureFlagBits::eStorageImage: return "StorageImage";
40481  case FormatFeatureFlagBits::eStorageImageAtomic: return "StorageImageAtomic";
40482  case FormatFeatureFlagBits::eUniformTexelBuffer: return "UniformTexelBuffer";
40483  case FormatFeatureFlagBits::eStorageTexelBuffer: return "StorageTexelBuffer";
40484  case FormatFeatureFlagBits::eStorageTexelBufferAtomic: return "StorageTexelBufferAtomic";
40485  case FormatFeatureFlagBits::eVertexBuffer: return "VertexBuffer";
40486  case FormatFeatureFlagBits::eColorAttachment: return "ColorAttachment";
40487  case FormatFeatureFlagBits::eColorAttachmentBlend: return "ColorAttachmentBlend";
40488  case FormatFeatureFlagBits::eDepthStencilAttachment: return "DepthStencilAttachment";
40489  case FormatFeatureFlagBits::eBlitSrc: return "BlitSrc";
40490  case FormatFeatureFlagBits::eBlitDst: return "BlitDst";
40491  case FormatFeatureFlagBits::eSampledImageFilterLinear: return "SampledImageFilterLinear";
40492  case FormatFeatureFlagBits::eTransferSrc: return "TransferSrc";
40493  case FormatFeatureFlagBits::eTransferDst: return "TransferDst";
40494  case FormatFeatureFlagBits::eMidpointChromaSamples: return "MidpointChromaSamples";
40495  case FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter: return "SampledImageYcbcrConversionLinearFilter";
40496  case FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter: return "SampledImageYcbcrConversionSeparateReconstructionFilter";
40497  case FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit: return "SampledImageYcbcrConversionChromaReconstructionExplicit";
40498  case FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable: return "SampledImageYcbcrConversionChromaReconstructionExplicitForceable";
40499  case FormatFeatureFlagBits::eDisjoint: return "Disjoint";
40500  case FormatFeatureFlagBits::eCositedChromaSamples: return "CositedChromaSamples";
40501  case FormatFeatureFlagBits::eSampledImageFilterCubicIMG: return "SampledImageFilterCubicIMG";
40502  case FormatFeatureFlagBits::eSampledImageFilterMinmaxEXT: return "SampledImageFilterMinmaxEXT";
40503  default: return "invalid";
40504  }
40505  }
40506 
40508  {
40509  if (!value) return "{}";
40511  if (value & FormatFeatureFlagBits::eSampledImage) result += "SampledImage | ";
40512  if (value & FormatFeatureFlagBits::eStorageImage) result += "StorageImage | ";
40513  if (value & FormatFeatureFlagBits::eStorageImageAtomic) result += "StorageImageAtomic | ";
40514  if (value & FormatFeatureFlagBits::eUniformTexelBuffer) result += "UniformTexelBuffer | ";
40515  if (value & FormatFeatureFlagBits::eStorageTexelBuffer) result += "StorageTexelBuffer | ";
40516  if (value & FormatFeatureFlagBits::eStorageTexelBufferAtomic) result += "StorageTexelBufferAtomic | ";
40517  if (value & FormatFeatureFlagBits::eVertexBuffer) result += "VertexBuffer | ";
40518  if (value & FormatFeatureFlagBits::eColorAttachment) result += "ColorAttachment | ";
40519  if (value & FormatFeatureFlagBits::eColorAttachmentBlend) result += "ColorAttachmentBlend | ";
40520  if (value & FormatFeatureFlagBits::eDepthStencilAttachment) result += "DepthStencilAttachment | ";
40521  if (value & FormatFeatureFlagBits::eBlitSrc) result += "BlitSrc | ";
40522  if (value & FormatFeatureFlagBits::eBlitDst) result += "BlitDst | ";
40523  if (value & FormatFeatureFlagBits::eSampledImageFilterLinear) result += "SampledImageFilterLinear | ";
40524  if (value & FormatFeatureFlagBits::eTransferSrc) result += "TransferSrc | ";
40525  if (value & FormatFeatureFlagBits::eTransferDst) result += "TransferDst | ";
40526  if (value & FormatFeatureFlagBits::eMidpointChromaSamples) result += "MidpointChromaSamples | ";
40527  if (value & FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter) result += "SampledImageYcbcrConversionLinearFilter | ";
40528  if (value & FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter) result += "SampledImageYcbcrConversionSeparateReconstructionFilter | ";
40529  if (value & FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit) result += "SampledImageYcbcrConversionChromaReconstructionExplicit | ";
40530  if (value & FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable) result += "SampledImageYcbcrConversionChromaReconstructionExplicitForceable | ";
40531  if (value & FormatFeatureFlagBits::eDisjoint) result += "Disjoint | ";
40532  if (value & FormatFeatureFlagBits::eCositedChromaSamples) result += "CositedChromaSamples | ";
40533  if (value & FormatFeatureFlagBits::eSampledImageFilterCubicIMG) result += "SampledImageFilterCubicIMG | ";
40534  if (value & FormatFeatureFlagBits::eSampledImageFilterMinmaxEXT) result += "SampledImageFilterMinmaxEXT | ";
40535  return "{" + result.substr(0, result.size() - 3) + "}";
40536  }
40537 
40539  {
40540  switch (value)
40541  {
40542  case QueryControlFlagBits::ePrecise: return "Precise";
40543  default: return "invalid";
40544  }
40545  }
40546 
40548  {
40549  if (!value) return "{}";
40551  if (value & QueryControlFlagBits::ePrecise) result += "Precise | ";
40552  return "{" + result.substr(0, result.size() - 3) + "}";
40553  }
40554 
40556  {
40557  switch (value)
40558  {
40559  case QueryResultFlagBits::e64: return "64";
40560  case QueryResultFlagBits::eWait: return "Wait";
40561  case QueryResultFlagBits::eWithAvailability: return "WithAvailability";
40562  case QueryResultFlagBits::ePartial: return "Partial";
40563  default: return "invalid";
40564  }
40565  }
40566 
40568  {
40569  if (!value) return "{}";
40571  if (value & QueryResultFlagBits::e64) result += "64 | ";
40572  if (value & QueryResultFlagBits::eWait) result += "Wait | ";
40573  if (value & QueryResultFlagBits::eWithAvailability) result += "WithAvailability | ";
40574  if (value & QueryResultFlagBits::ePartial) result += "Partial | ";
40575  return "{" + result.substr(0, result.size() - 3) + "}";
40576  }
40577 
40579  {
40580  switch (value)
40581  {
40582  case CommandBufferUsageFlagBits::eOneTimeSubmit: return "OneTimeSubmit";
40583  case CommandBufferUsageFlagBits::eRenderPassContinue: return "RenderPassContinue";
40584  case CommandBufferUsageFlagBits::eSimultaneousUse: return "SimultaneousUse";
40585  default: return "invalid";
40586  }
40587  }
40588 
40590  {
40591  if (!value) return "{}";
40593  if (value & CommandBufferUsageFlagBits::eOneTimeSubmit) result += "OneTimeSubmit | ";
40594  if (value & CommandBufferUsageFlagBits::eRenderPassContinue) result += "RenderPassContinue | ";
40595  if (value & CommandBufferUsageFlagBits::eSimultaneousUse) result += "SimultaneousUse | ";
40596  return "{" + result.substr(0, result.size() - 3) + "}";
40597  }
40598 
40600  {
40601  switch (value)
40602  {
40603  case QueryPipelineStatisticFlagBits::eInputAssemblyVertices: return "InputAssemblyVertices";
40604  case QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives: return "InputAssemblyPrimitives";
40605  case QueryPipelineStatisticFlagBits::eVertexShaderInvocations: return "VertexShaderInvocations";
40606  case QueryPipelineStatisticFlagBits::eGeometryShaderInvocations: return "GeometryShaderInvocations";
40607  case QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives: return "GeometryShaderPrimitives";
40608  case QueryPipelineStatisticFlagBits::eClippingInvocations: return "ClippingInvocations";
40609  case QueryPipelineStatisticFlagBits::eClippingPrimitives: return "ClippingPrimitives";
40610  case QueryPipelineStatisticFlagBits::eFragmentShaderInvocations: return "FragmentShaderInvocations";
40611  case QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches: return "TessellationControlShaderPatches";
40612  case QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations: return "TessellationEvaluationShaderInvocations";
40613  case QueryPipelineStatisticFlagBits::eComputeShaderInvocations: return "ComputeShaderInvocations";
40614  default: return "invalid";
40615  }
40616  }
40617 
40619  {
40620  if (!value) return "{}";
40622  if (value & QueryPipelineStatisticFlagBits::eInputAssemblyVertices) result += "InputAssemblyVertices | ";
40623  if (value & QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives) result += "InputAssemblyPrimitives | ";
40624  if (value & QueryPipelineStatisticFlagBits::eVertexShaderInvocations) result += "VertexShaderInvocations | ";
40625  if (value & QueryPipelineStatisticFlagBits::eGeometryShaderInvocations) result += "GeometryShaderInvocations | ";
40626  if (value & QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives) result += "GeometryShaderPrimitives | ";
40627  if (value & QueryPipelineStatisticFlagBits::eClippingInvocations) result += "ClippingInvocations | ";
40628  if (value & QueryPipelineStatisticFlagBits::eClippingPrimitives) result += "ClippingPrimitives | ";
40629  if (value & QueryPipelineStatisticFlagBits::eFragmentShaderInvocations) result += "FragmentShaderInvocations | ";
40630  if (value & QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches) result += "TessellationControlShaderPatches | ";
40631  if (value & QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations) result += "TessellationEvaluationShaderInvocations | ";
40632  if (value & QueryPipelineStatisticFlagBits::eComputeShaderInvocations) result += "ComputeShaderInvocations | ";
40633  return "{" + result.substr(0, result.size() - 3) + "}";
40634  }
40635 
40637  {
40638  switch (value)
40639  {
40640  case ImageAspectFlagBits::eColor: return "Color";
40641  case ImageAspectFlagBits::eDepth: return "Depth";
40642  case ImageAspectFlagBits::eStencil: return "Stencil";
40643  case ImageAspectFlagBits::eMetadata: return "Metadata";
40644  case ImageAspectFlagBits::ePlane0: return "Plane0";
40645  case ImageAspectFlagBits::ePlane1: return "Plane1";
40646  case ImageAspectFlagBits::ePlane2: return "Plane2";
40647  default: return "invalid";
40648  }
40649  }
40650 
40652  {
40653  if (!value) return "{}";
40655  if (value & ImageAspectFlagBits::eColor) result += "Color | ";
40656  if (value & ImageAspectFlagBits::eDepth) result += "Depth | ";
40657  if (value & ImageAspectFlagBits::eStencil) result += "Stencil | ";
40658  if (value & ImageAspectFlagBits::eMetadata) result += "Metadata | ";
40659  if (value & ImageAspectFlagBits::ePlane0) result += "Plane0 | ";
40660  if (value & ImageAspectFlagBits::ePlane1) result += "Plane1 | ";
40661  if (value & ImageAspectFlagBits::ePlane2) result += "Plane2 | ";
40662  return "{" + result.substr(0, result.size() - 3) + "}";
40663  }
40664 
40666  {
40667  switch (value)
40668  {
40669  case SparseImageFormatFlagBits::eSingleMiptail: return "SingleMiptail";
40670  case SparseImageFormatFlagBits::eAlignedMipSize: return "AlignedMipSize";
40671  case SparseImageFormatFlagBits::eNonstandardBlockSize: return "NonstandardBlockSize";
40672  default: return "invalid";
40673  }
40674  }
40675 
40677  {
40678  if (!value) return "{}";
40680  if (value & SparseImageFormatFlagBits::eSingleMiptail) result += "SingleMiptail | ";
40681  if (value & SparseImageFormatFlagBits::eAlignedMipSize) result += "AlignedMipSize | ";
40682  if (value & SparseImageFormatFlagBits::eNonstandardBlockSize) result += "NonstandardBlockSize | ";
40683  return "{" + result.substr(0, result.size() - 3) + "}";
40684  }
40685 
40687  {
40688  switch (value)
40689  {
40690  case SparseMemoryBindFlagBits::eMetadata: return "Metadata";
40691  default: return "invalid";
40692  }
40693  }
40694 
40696  {
40697  if (!value) return "{}";
40699  if (value & SparseMemoryBindFlagBits::eMetadata) result += "Metadata | ";
40700  return "{" + result.substr(0, result.size() - 3) + "}";
40701  }
40702 
40704  {
40705  switch (value)
40706  {
40707  case PipelineStageFlagBits::eTopOfPipe: return "TopOfPipe";
40708  case PipelineStageFlagBits::eDrawIndirect: return "DrawIndirect";
40709  case PipelineStageFlagBits::eVertexInput: return "VertexInput";
40710  case PipelineStageFlagBits::eVertexShader: return "VertexShader";
40711  case PipelineStageFlagBits::eTessellationControlShader: return "TessellationControlShader";
40712  case PipelineStageFlagBits::eTessellationEvaluationShader: return "TessellationEvaluationShader";
40713  case PipelineStageFlagBits::eGeometryShader: return "GeometryShader";
40714  case PipelineStageFlagBits::eFragmentShader: return "FragmentShader";
40715  case PipelineStageFlagBits::eEarlyFragmentTests: return "EarlyFragmentTests";
40716  case PipelineStageFlagBits::eLateFragmentTests: return "LateFragmentTests";
40717  case PipelineStageFlagBits::eColorAttachmentOutput: return "ColorAttachmentOutput";
40718  case PipelineStageFlagBits::eComputeShader: return "ComputeShader";
40719  case PipelineStageFlagBits::eTransfer: return "Transfer";
40720  case PipelineStageFlagBits::eBottomOfPipe: return "BottomOfPipe";
40721  case PipelineStageFlagBits::eHost: return "Host";
40722  case PipelineStageFlagBits::eAllGraphics: return "AllGraphics";
40723  case PipelineStageFlagBits::eAllCommands: return "AllCommands";
40724  case PipelineStageFlagBits::eCommandProcessNVX: return "CommandProcessNVX";
40725  default: return "invalid";
40726  }
40727  }
40728 
40730  {
40731  if (!value) return "{}";
40733  if (value & PipelineStageFlagBits::eTopOfPipe) result += "TopOfPipe | ";
40734  if (value & PipelineStageFlagBits::eDrawIndirect) result += "DrawIndirect | ";
40735  if (value & PipelineStageFlagBits::eVertexInput) result += "VertexInput | ";
40736  if (value & PipelineStageFlagBits::eVertexShader) result += "VertexShader | ";
40737  if (value & PipelineStageFlagBits::eTessellationControlShader) result += "TessellationControlShader | ";
40738  if (value & PipelineStageFlagBits::eTessellationEvaluationShader) result += "TessellationEvaluationShader | ";
40739  if (value & PipelineStageFlagBits::eGeometryShader) result += "GeometryShader | ";
40740  if (value & PipelineStageFlagBits::eFragmentShader) result += "FragmentShader | ";
40741  if (value & PipelineStageFlagBits::eEarlyFragmentTests) result += "EarlyFragmentTests | ";
40742  if (value & PipelineStageFlagBits::eLateFragmentTests) result += "LateFragmentTests | ";
40743  if (value & PipelineStageFlagBits::eColorAttachmentOutput) result += "ColorAttachmentOutput | ";
40744  if (value & PipelineStageFlagBits::eComputeShader) result += "ComputeShader | ";
40745  if (value & PipelineStageFlagBits::eTransfer) result += "Transfer | ";
40746  if (value & PipelineStageFlagBits::eBottomOfPipe) result += "BottomOfPipe | ";
40747  if (value & PipelineStageFlagBits::eHost) result += "Host | ";
40748  if (value & PipelineStageFlagBits::eAllGraphics) result += "AllGraphics | ";
40749  if (value & PipelineStageFlagBits::eAllCommands) result += "AllCommands | ";
40750  if (value & PipelineStageFlagBits::eCommandProcessNVX) result += "CommandProcessNVX | ";
40751  return "{" + result.substr(0, result.size() - 3) + "}";
40752  }
40753 
40755  {
40756  switch (value)
40757  {
40758  case CommandPoolCreateFlagBits::eTransient: return "Transient";
40759  case CommandPoolCreateFlagBits::eResetCommandBuffer: return "ResetCommandBuffer";
40760  case CommandPoolCreateFlagBits::eProtected: return "Protected";
40761  default: return "invalid";
40762  }
40763  }
40764 
40766  {
40767  if (!value) return "{}";
40769  if (value & CommandPoolCreateFlagBits::eTransient) result += "Transient | ";
40770  if (value & CommandPoolCreateFlagBits::eResetCommandBuffer) result += "ResetCommandBuffer | ";
40771  if (value & CommandPoolCreateFlagBits::eProtected) result += "Protected | ";
40772  return "{" + result.substr(0, result.size() - 3) + "}";
40773  }
40774 
40776  {
40777  switch (value)
40778  {
40779  case CommandPoolResetFlagBits::eReleaseResources: return "ReleaseResources";
40780  default: return "invalid";
40781  }
40782  }
40783 
40785  {
40786  if (!value) return "{}";
40788  if (value & CommandPoolResetFlagBits::eReleaseResources) result += "ReleaseResources | ";
40789  return "{" + result.substr(0, result.size() - 3) + "}";
40790  }
40791 
40793  {
40794  switch (value)
40795  {
40796  case CommandBufferResetFlagBits::eReleaseResources: return "ReleaseResources";
40797  default: return "invalid";
40798  }
40799  }
40800 
40802  {
40803  if (!value) return "{}";
40805  if (value & CommandBufferResetFlagBits::eReleaseResources) result += "ReleaseResources | ";
40806  return "{" + result.substr(0, result.size() - 3) + "}";
40807  }
40808 
40810  {
40811  switch (value)
40812  {
40813  case SampleCountFlagBits::e1: return "1";
40814  case SampleCountFlagBits::e2: return "2";
40815  case SampleCountFlagBits::e4: return "4";
40816  case SampleCountFlagBits::e8: return "8";
40817  case SampleCountFlagBits::e16: return "16";
40818  case SampleCountFlagBits::e32: return "32";
40819  case SampleCountFlagBits::e64: return "64";
40820  default: return "invalid";
40821  }
40822  }
40823 
40825  {
40826  if (!value) return "{}";
40828  if (value & SampleCountFlagBits::e1) result += "1 | ";
40829  if (value & SampleCountFlagBits::e2) result += "2 | ";
40830  if (value & SampleCountFlagBits::e4) result += "4 | ";
40831  if (value & SampleCountFlagBits::e8) result += "8 | ";
40832  if (value & SampleCountFlagBits::e16) result += "16 | ";
40833  if (value & SampleCountFlagBits::e32) result += "32 | ";
40834  if (value & SampleCountFlagBits::e64) result += "64 | ";
40835  return "{" + result.substr(0, result.size() - 3) + "}";
40836  }
40837 
40839  {
40840  switch (value)
40841  {
40842  case AttachmentDescriptionFlagBits::eMayAlias: return "MayAlias";
40843  default: return "invalid";
40844  }
40845  }
40846 
40848  {
40849  if (!value) return "{}";
40851  if (value & AttachmentDescriptionFlagBits::eMayAlias) result += "MayAlias | ";
40852  return "{" + result.substr(0, result.size() - 3) + "}";
40853  }
40854 
40856  {
40857  switch (value)
40858  {
40859  case StencilFaceFlagBits::eFront: return "Front";
40860  case StencilFaceFlagBits::eBack: return "Back";
40861  case StencilFaceFlagBits::eVkStencilFrontAndBack: return "VkStencilFrontAndBack";
40862  default: return "invalid";
40863  }
40864  }
40865 
40867  {
40868  if (!value) return "{}";
40870  if (value & StencilFaceFlagBits::eFront) result += "Front | ";
40871  if (value & StencilFaceFlagBits::eBack) result += "Back | ";
40872  if (value & StencilFaceFlagBits::eVkStencilFrontAndBack) result += "VkStencilFrontAndBack | ";
40873  return "{" + result.substr(0, result.size() - 3) + "}";
40874  }
40875 
40877  {
40878  switch (value)
40879  {
40880  case DescriptorPoolCreateFlagBits::eFreeDescriptorSet: return "FreeDescriptorSet";
40881  case DescriptorPoolCreateFlagBits::eUpdateAfterBindEXT: return "UpdateAfterBindEXT";
40882  default: return "invalid";
40883  }
40884  }
40885 
40887  {
40888  if (!value) return "{}";
40890  if (value & DescriptorPoolCreateFlagBits::eFreeDescriptorSet) result += "FreeDescriptorSet | ";
40891  if (value & DescriptorPoolCreateFlagBits::eUpdateAfterBindEXT) result += "UpdateAfterBindEXT | ";
40892  return "{" + result.substr(0, result.size() - 3) + "}";
40893  }
40894 
40896  {
40897  switch (value)
40898  {
40899  case DependencyFlagBits::eByRegion: return "ByRegion";
40900  case DependencyFlagBits::eDeviceGroup: return "DeviceGroup";
40901  case DependencyFlagBits::eViewLocal: return "ViewLocal";
40902  default: return "invalid";
40903  }
40904  }
40905 
40907  {
40908  if (!value) return "{}";
40910  if (value & DependencyFlagBits::eByRegion) result += "ByRegion | ";
40911  if (value & DependencyFlagBits::eDeviceGroup) result += "DeviceGroup | ";
40912  if (value & DependencyFlagBits::eViewLocal) result += "ViewLocal | ";
40913  return "{" + result.substr(0, result.size() - 3) + "}";
40914  }
40915 
40917  {
40918  switch (value)
40919  {
40920  case PresentModeKHR::eImmediate: return "Immediate";
40921  case PresentModeKHR::eMailbox: return "Mailbox";
40922  case PresentModeKHR::eFifo: return "Fifo";
40923  case PresentModeKHR::eFifoRelaxed: return "FifoRelaxed";
40924  case PresentModeKHR::eSharedDemandRefresh: return "SharedDemandRefresh";
40925  case PresentModeKHR::eSharedContinuousRefresh: return "SharedContinuousRefresh";
40926  default: return "invalid";
40927  }
40928  }
40929 
40931  {
40932  switch (value)
40933  {
40934  case ColorSpaceKHR::eSrgbNonlinear: return "SrgbNonlinear";
40935  case ColorSpaceKHR::eDisplayP3NonlinearEXT: return "DisplayP3NonlinearEXT";
40936  case ColorSpaceKHR::eExtendedSrgbLinearEXT: return "ExtendedSrgbLinearEXT";
40937  case ColorSpaceKHR::eDciP3LinearEXT: return "DciP3LinearEXT";
40938  case ColorSpaceKHR::eDciP3NonlinearEXT: return "DciP3NonlinearEXT";
40939  case ColorSpaceKHR::eBt709LinearEXT: return "Bt709LinearEXT";
40940  case ColorSpaceKHR::eBt709NonlinearEXT: return "Bt709NonlinearEXT";
40941  case ColorSpaceKHR::eBt2020LinearEXT: return "Bt2020LinearEXT";
40942  case ColorSpaceKHR::eHdr10St2084EXT: return "Hdr10St2084EXT";
40943  case ColorSpaceKHR::eDolbyvisionEXT: return "DolbyvisionEXT";
40944  case ColorSpaceKHR::eHdr10HlgEXT: return "Hdr10HlgEXT";
40945  case ColorSpaceKHR::eAdobergbLinearEXT: return "AdobergbLinearEXT";
40946  case ColorSpaceKHR::eAdobergbNonlinearEXT: return "AdobergbNonlinearEXT";
40947  case ColorSpaceKHR::ePassThroughEXT: return "PassThroughEXT";
40948  case ColorSpaceKHR::eExtendedSrgbNonlinearEXT: return "ExtendedSrgbNonlinearEXT";
40949  default: return "invalid";
40950  }
40951  }
40952 
40954  {
40955  switch (value)
40956  {
40957  case DisplayPlaneAlphaFlagBitsKHR::eOpaque: return "Opaque";
40958  case DisplayPlaneAlphaFlagBitsKHR::eGlobal: return "Global";
40959  case DisplayPlaneAlphaFlagBitsKHR::ePerPixel: return "PerPixel";
40960  case DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied: return "PerPixelPremultiplied";
40961  default: return "invalid";
40962  }
40963  }
40964 
40966  {
40967  if (!value) return "{}";
40969  if (value & DisplayPlaneAlphaFlagBitsKHR::eOpaque) result += "Opaque | ";
40970  if (value & DisplayPlaneAlphaFlagBitsKHR::eGlobal) result += "Global | ";
40971  if (value & DisplayPlaneAlphaFlagBitsKHR::ePerPixel) result += "PerPixel | ";
40972  if (value & DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied) result += "PerPixelPremultiplied | ";
40973  return "{" + result.substr(0, result.size() - 3) + "}";
40974  }
40975 
40977  {
40978  switch (value)
40979  {
40980  case CompositeAlphaFlagBitsKHR::eOpaque: return "Opaque";
40981  case CompositeAlphaFlagBitsKHR::ePreMultiplied: return "PreMultiplied";
40982  case CompositeAlphaFlagBitsKHR::ePostMultiplied: return "PostMultiplied";
40983  case CompositeAlphaFlagBitsKHR::eInherit: return "Inherit";
40984  default: return "invalid";
40985  }
40986  }
40987 
40989  {
40990  if (!value) return "{}";
40992  if (value & CompositeAlphaFlagBitsKHR::eOpaque) result += "Opaque | ";
40993  if (value & CompositeAlphaFlagBitsKHR::ePreMultiplied) result += "PreMultiplied | ";
40994  if (value & CompositeAlphaFlagBitsKHR::ePostMultiplied) result += "PostMultiplied | ";
40995  if (value & CompositeAlphaFlagBitsKHR::eInherit) result += "Inherit | ";
40996  return "{" + result.substr(0, result.size() - 3) + "}";
40997  }
40998 
41000  {
41001  switch (value)
41002  {
41003  case SurfaceTransformFlagBitsKHR::eIdentity: return "Identity";
41004  case SurfaceTransformFlagBitsKHR::eRotate90: return "Rotate90";
41005  case SurfaceTransformFlagBitsKHR::eRotate180: return "Rotate180";
41006  case SurfaceTransformFlagBitsKHR::eRotate270: return "Rotate270";
41007  case SurfaceTransformFlagBitsKHR::eHorizontalMirror: return "HorizontalMirror";
41008  case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90: return "HorizontalMirrorRotate90";
41009  case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180: return "HorizontalMirrorRotate180";
41010  case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270: return "HorizontalMirrorRotate270";
41011  case SurfaceTransformFlagBitsKHR::eInherit: return "Inherit";
41012  default: return "invalid";
41013  }
41014  }
41015 
41017  {
41018  if (!value) return "{}";
41020  if (value & SurfaceTransformFlagBitsKHR::eIdentity) result += "Identity | ";
41021  if (value & SurfaceTransformFlagBitsKHR::eRotate90) result += "Rotate90 | ";
41022  if (value & SurfaceTransformFlagBitsKHR::eRotate180) result += "Rotate180 | ";
41023  if (value & SurfaceTransformFlagBitsKHR::eRotate270) result += "Rotate270 | ";
41024  if (value & SurfaceTransformFlagBitsKHR::eHorizontalMirror) result += "HorizontalMirror | ";
41025  if (value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90) result += "HorizontalMirrorRotate90 | ";
41026  if (value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180) result += "HorizontalMirrorRotate180 | ";
41027  if (value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270) result += "HorizontalMirrorRotate270 | ";
41028  if (value & SurfaceTransformFlagBitsKHR::eInherit) result += "Inherit | ";
41029  return "{" + result.substr(0, result.size() - 3) + "}";
41030  }
41031 
41033  {
41034  switch (value)
41035  {
41036  case DebugReportFlagBitsEXT::eInformation: return "Information";
41037  case DebugReportFlagBitsEXT::eWarning: return "Warning";
41038  case DebugReportFlagBitsEXT::ePerformanceWarning: return "PerformanceWarning";
41039  case DebugReportFlagBitsEXT::eError: return "Error";
41040  case DebugReportFlagBitsEXT::eDebug: return "Debug";
41041  default: return "invalid";
41042  }
41043  }
41044 
41046  {
41047  if (!value) return "{}";
41049  if (value & DebugReportFlagBitsEXT::eInformation) result += "Information | ";
41050  if (value & DebugReportFlagBitsEXT::eWarning) result += "Warning | ";
41051  if (value & DebugReportFlagBitsEXT::ePerformanceWarning) result += "PerformanceWarning | ";
41052  if (value & DebugReportFlagBitsEXT::eError) result += "Error | ";
41053  if (value & DebugReportFlagBitsEXT::eDebug) result += "Debug | ";
41054  return "{" + result.substr(0, result.size() - 3) + "}";
41055  }
41056 
41058  {
41059  switch (value)
41060  {
41061  case DebugReportObjectTypeEXT::eUnknown: return "Unknown";
41062  case DebugReportObjectTypeEXT::eInstance: return "Instance";
41063  case DebugReportObjectTypeEXT::ePhysicalDevice: return "PhysicalDevice";
41064  case DebugReportObjectTypeEXT::eDevice: return "Device";
41065  case DebugReportObjectTypeEXT::eQueue: return "Queue";
41066  case DebugReportObjectTypeEXT::eSemaphore: return "Semaphore";
41067  case DebugReportObjectTypeEXT::eCommandBuffer: return "CommandBuffer";
41068  case DebugReportObjectTypeEXT::eFence: return "Fence";
41069  case DebugReportObjectTypeEXT::eDeviceMemory: return "DeviceMemory";
41070  case DebugReportObjectTypeEXT::eBuffer: return "Buffer";
41071  case DebugReportObjectTypeEXT::eImage: return "Image";
41072  case DebugReportObjectTypeEXT::eEvent: return "Event";
41073  case DebugReportObjectTypeEXT::eQueryPool: return "QueryPool";
41074  case DebugReportObjectTypeEXT::eBufferView: return "BufferView";
41075  case DebugReportObjectTypeEXT::eImageView: return "ImageView";
41076  case DebugReportObjectTypeEXT::eShaderModule: return "ShaderModule";
41077  case DebugReportObjectTypeEXT::ePipelineCache: return "PipelineCache";
41078  case DebugReportObjectTypeEXT::ePipelineLayout: return "PipelineLayout";
41079  case DebugReportObjectTypeEXT::eRenderPass: return "RenderPass";
41080  case DebugReportObjectTypeEXT::ePipeline: return "Pipeline";
41081  case DebugReportObjectTypeEXT::eDescriptorSetLayout: return "DescriptorSetLayout";
41082  case DebugReportObjectTypeEXT::eSampler: return "Sampler";
41083  case DebugReportObjectTypeEXT::eDescriptorPool: return "DescriptorPool";
41084  case DebugReportObjectTypeEXT::eDescriptorSet: return "DescriptorSet";
41085  case DebugReportObjectTypeEXT::eFramebuffer: return "Framebuffer";
41086  case DebugReportObjectTypeEXT::eCommandPool: return "CommandPool";
41087  case DebugReportObjectTypeEXT::eSurfaceKhr: return "SurfaceKhr";
41088  case DebugReportObjectTypeEXT::eSwapchainKhr: return "SwapchainKhr";
41089  case DebugReportObjectTypeEXT::eDebugReportCallbackExt: return "DebugReportCallbackExt";
41090  case DebugReportObjectTypeEXT::eDisplayKhr: return "DisplayKhr";
41091  case DebugReportObjectTypeEXT::eDisplayModeKhr: return "DisplayModeKhr";
41092  case DebugReportObjectTypeEXT::eObjectTableNvx: return "ObjectTableNvx";
41093  case DebugReportObjectTypeEXT::eIndirectCommandsLayoutNvx: return "IndirectCommandsLayoutNvx";
41094  case DebugReportObjectTypeEXT::eValidationCacheExt: return "ValidationCacheExt";
41095  case DebugReportObjectTypeEXT::eSamplerYcbcrConversion: return "SamplerYcbcrConversion";
41096  case DebugReportObjectTypeEXT::eDescriptorUpdateTemplate: return "DescriptorUpdateTemplate";
41097  default: return "invalid";
41098  }
41099  }
41100 
41102  {
41103  switch (value)
41104  {
41105  case RasterizationOrderAMD::eStrict: return "Strict";
41106  case RasterizationOrderAMD::eRelaxed: return "Relaxed";
41107  default: return "invalid";
41108  }
41109  }
41110 
41112  {
41113  switch (value)
41114  {
41115  case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32: return "OpaqueWin32";
41116  case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
41117  case ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image: return "D3D11Image";
41118  case ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt: return "D3D11ImageKmt";
41119  default: return "invalid";
41120  }
41121  }
41122 
41124  {
41125  if (!value) return "{}";
41131  return "{" + result.substr(0, result.size() - 3) + "}";
41132  }
41133 
41135  {
41136  switch (value)
41137  {
41138  case ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly: return "DedicatedOnly";
41139  case ExternalMemoryFeatureFlagBitsNV::eExportable: return "Exportable";
41140  case ExternalMemoryFeatureFlagBitsNV::eImportable: return "Importable";
41141  default: return "invalid";
41142  }
41143  }
41144 
41146  {
41147  if (!value) return "{}";
41149  if (value & ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly) result += "DedicatedOnly | ";
41150  if (value & ExternalMemoryFeatureFlagBitsNV::eExportable) result += "Exportable | ";
41151  if (value & ExternalMemoryFeatureFlagBitsNV::eImportable) result += "Importable | ";
41152  return "{" + result.substr(0, result.size() - 3) + "}";
41153  }
41154 
41156  {
41157  switch (value)
41158  {
41159  case ValidationCheckEXT::eAll: return "All";
41160  case ValidationCheckEXT::eShaders: return "Shaders";
41161  default: return "invalid";
41162  }
41163  }
41164 
41166  {
41167  switch (value)
41168  {
41169  case SubgroupFeatureFlagBits::eBasic: return "Basic";
41170  case SubgroupFeatureFlagBits::eVote: return "Vote";
41171  case SubgroupFeatureFlagBits::eArithmetic: return "Arithmetic";
41172  case SubgroupFeatureFlagBits::eBallot: return "Ballot";
41173  case SubgroupFeatureFlagBits::eShuffle: return "Shuffle";
41174  case SubgroupFeatureFlagBits::eShuffleRelative: return "ShuffleRelative";
41175  case SubgroupFeatureFlagBits::eClustered: return "Clustered";
41176  case SubgroupFeatureFlagBits::eQuad: return "Quad";
41177  case SubgroupFeatureFlagBits::ePartitionedNV: return "PartitionedNV";
41178  default: return "invalid";
41179  }
41180  }
41181 
41183  {
41184  if (!value) return "{}";
41186  if (value & SubgroupFeatureFlagBits::eBasic) result += "Basic | ";
41187  if (value & SubgroupFeatureFlagBits::eVote) result += "Vote | ";
41188  if (value & SubgroupFeatureFlagBits::eArithmetic) result += "Arithmetic | ";
41189  if (value & SubgroupFeatureFlagBits::eBallot) result += "Ballot | ";
41190  if (value & SubgroupFeatureFlagBits::eShuffle) result += "Shuffle | ";
41191  if (value & SubgroupFeatureFlagBits::eShuffleRelative) result += "ShuffleRelative | ";
41192  if (value & SubgroupFeatureFlagBits::eClustered) result += "Clustered | ";
41193  if (value & SubgroupFeatureFlagBits::eQuad) result += "Quad | ";
41194  if (value & SubgroupFeatureFlagBits::ePartitionedNV) result += "PartitionedNV | ";
41195  return "{" + result.substr(0, result.size() - 3) + "}";
41196  }
41197 
41199  {
41200  switch (value)
41201  {
41202  case IndirectCommandsLayoutUsageFlagBitsNVX::eUnorderedSequences: return "UnorderedSequences";
41203  case IndirectCommandsLayoutUsageFlagBitsNVX::eSparseSequences: return "SparseSequences";
41204  case IndirectCommandsLayoutUsageFlagBitsNVX::eEmptyExecutions: return "EmptyExecutions";
41205  case IndirectCommandsLayoutUsageFlagBitsNVX::eIndexedSequences: return "IndexedSequences";
41206  default: return "invalid";
41207  }
41208  }
41209 
41211  {
41212  if (!value) return "{}";
41218  return "{" + result.substr(0, result.size() - 3) + "}";
41219  }
41220 
41222  {
41223  switch (value)
41224  {
41225  case ObjectEntryUsageFlagBitsNVX::eGraphics: return "Graphics";
41226  case ObjectEntryUsageFlagBitsNVX::eCompute: return "Compute";
41227  default: return "invalid";
41228  }
41229  }
41230 
41232  {
41233  if (!value) return "{}";
41235  if (value & ObjectEntryUsageFlagBitsNVX::eGraphics) result += "Graphics | ";
41236  if (value & ObjectEntryUsageFlagBitsNVX::eCompute) result += "Compute | ";
41237  return "{" + result.substr(0, result.size() - 3) + "}";
41238  }
41239 
41241  {
41242  switch (value)
41243  {
41244  case IndirectCommandsTokenTypeNVX::ePipeline: return "Pipeline";
41245  case IndirectCommandsTokenTypeNVX::eDescriptorSet: return "DescriptorSet";
41246  case IndirectCommandsTokenTypeNVX::eIndexBuffer: return "IndexBuffer";
41247  case IndirectCommandsTokenTypeNVX::eVertexBuffer: return "VertexBuffer";
41248  case IndirectCommandsTokenTypeNVX::ePushConstant: return "PushConstant";
41249  case IndirectCommandsTokenTypeNVX::eDrawIndexed: return "DrawIndexed";
41250  case IndirectCommandsTokenTypeNVX::eDraw: return "Draw";
41251  case IndirectCommandsTokenTypeNVX::eDispatch: return "Dispatch";
41252  default: return "invalid";
41253  }
41254  }
41255 
41257  {
41258  switch (value)
41259  {
41260  case ObjectEntryTypeNVX::eDescriptorSet: return "DescriptorSet";
41261  case ObjectEntryTypeNVX::ePipeline: return "Pipeline";
41262  case ObjectEntryTypeNVX::eIndexBuffer: return "IndexBuffer";
41263  case ObjectEntryTypeNVX::eVertexBuffer: return "VertexBuffer";
41264  case ObjectEntryTypeNVX::ePushConstant: return "PushConstant";
41265  default: return "invalid";
41266  }
41267  }
41268 
41270  {
41271  switch (value)
41272  {
41273  case DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR: return "PushDescriptorKHR";
41274  case DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPoolEXT: return "UpdateAfterBindPoolEXT";
41275  default: return "invalid";
41276  }
41277  }
41278 
41280  {
41281  if (!value) return "{}";
41283  if (value & DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR) result += "PushDescriptorKHR | ";
41284  if (value & DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPoolEXT) result += "UpdateAfterBindPoolEXT | ";
41285  return "{" + result.substr(0, result.size() - 3) + "}";
41286  }
41287 
41289  {
41290  switch (value)
41291  {
41292  case ExternalMemoryHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
41293  case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
41294  case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
41295  case ExternalMemoryHandleTypeFlagBits::eD3D11Texture: return "D3D11Texture";
41296  case ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt: return "D3D11TextureKmt";
41297  case ExternalMemoryHandleTypeFlagBits::eD3D12Heap: return "D3D12Heap";
41298  case ExternalMemoryHandleTypeFlagBits::eD3D12Resource: return "D3D12Resource";
41299  case ExternalMemoryHandleTypeFlagBits::eDmaBufEXT: return "DmaBufEXT";
41300  case ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID: return "AndroidHardwareBufferANDROID";
41301  case ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT: return "HostAllocationEXT";
41302  case ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT: return "HostMappedForeignMemoryEXT";
41303  default: return "invalid";
41304  }
41305  }
41306 
41308  {
41309  if (!value) return "{}";
41312  if (value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32) result += "OpaqueWin32 | ";
41313  if (value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt) result += "OpaqueWin32Kmt | ";
41314  if (value & ExternalMemoryHandleTypeFlagBits::eD3D11Texture) result += "D3D11Texture | ";
41315  if (value & ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt) result += "D3D11TextureKmt | ";
41317  if (value & ExternalMemoryHandleTypeFlagBits::eD3D12Resource) result += "D3D12Resource | ";
41319  if (value & ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID) result += "AndroidHardwareBufferANDROID | ";
41320  if (value & ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT) result += "HostAllocationEXT | ";
41321  if (value & ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT) result += "HostMappedForeignMemoryEXT | ";
41322  return "{" + result.substr(0, result.size() - 3) + "}";
41323  }
41324 
41326  {
41327  switch (value)
41328  {
41329  case ExternalMemoryFeatureFlagBits::eDedicatedOnly: return "DedicatedOnly";
41330  case ExternalMemoryFeatureFlagBits::eExportable: return "Exportable";
41331  case ExternalMemoryFeatureFlagBits::eImportable: return "Importable";
41332  default: return "invalid";
41333  }
41334  }
41335 
41337  {
41338  if (!value) return "{}";
41340  if (value & ExternalMemoryFeatureFlagBits::eDedicatedOnly) result += "DedicatedOnly | ";
41341  if (value & ExternalMemoryFeatureFlagBits::eExportable) result += "Exportable | ";
41342  if (value & ExternalMemoryFeatureFlagBits::eImportable) result += "Importable | ";
41343  return "{" + result.substr(0, result.size() - 3) + "}";
41344  }
41345 
41347  {
41348  switch (value)
41349  {
41350  case ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
41351  case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
41352  case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
41353  case ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence: return "D3D12Fence";
41354  case ExternalSemaphoreHandleTypeFlagBits::eSyncFd: return "SyncFd";
41355  default: return "invalid";
41356  }
41357  }
41358 
41360  {
41361  if (!value) return "{}";
41368  return "{" + result.substr(0, result.size() - 3) + "}";
41369  }
41370 
41372  {
41373  switch (value)
41374  {
41375  case ExternalSemaphoreFeatureFlagBits::eExportable: return "Exportable";
41376  case ExternalSemaphoreFeatureFlagBits::eImportable: return "Importable";
41377  default: return "invalid";
41378  }
41379  }
41380 
41382  {
41383  if (!value) return "{}";
41387  return "{" + result.substr(0, result.size() - 3) + "}";
41388  }
41389 
41391  {
41392  switch (value)
41393  {
41394  case SemaphoreImportFlagBits::eTemporary: return "Temporary";
41395  default: return "invalid";
41396  }
41397  }
41398 
41400  {
41401  if (!value) return "{}";
41403  if (value & SemaphoreImportFlagBits::eTemporary) result += "Temporary | ";
41404  return "{" + result.substr(0, result.size() - 3) + "}";
41405  }
41406 
41408  {
41409  switch (value)
41410  {
41411  case ExternalFenceHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
41412  case ExternalFenceHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
41413  case ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
41414  case ExternalFenceHandleTypeFlagBits::eSyncFd: return "SyncFd";
41415  default: return "invalid";
41416  }
41417  }
41418 
41420  {
41421  if (!value) return "{}";
41424  if (value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32) result += "OpaqueWin32 | ";
41425  if (value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt) result += "OpaqueWin32Kmt | ";
41427  return "{" + result.substr(0, result.size() - 3) + "}";
41428  }
41429 
41431  {
41432  switch (value)
41433  {
41434  case ExternalFenceFeatureFlagBits::eExportable: return "Exportable";
41435  case ExternalFenceFeatureFlagBits::eImportable: return "Importable";
41436  default: return "invalid";
41437  }
41438  }
41439 
41441  {
41442  if (!value) return "{}";
41444  if (value & ExternalFenceFeatureFlagBits::eExportable) result += "Exportable | ";
41445  if (value & ExternalFenceFeatureFlagBits::eImportable) result += "Importable | ";
41446  return "{" + result.substr(0, result.size() - 3) + "}";
41447  }
41448 
41450  {
41451  switch (value)
41452  {
41453  case FenceImportFlagBits::eTemporary: return "Temporary";
41454  default: return "invalid";
41455  }
41456  }
41457 
41459  {
41460  if (!value) return "{}";
41462  if (value & FenceImportFlagBits::eTemporary) result += "Temporary | ";
41463  return "{" + result.substr(0, result.size() - 3) + "}";
41464  }
41465 
41467  {
41468  switch (value)
41469  {
41470  case SurfaceCounterFlagBitsEXT::eVblank: return "Vblank";
41471  default: return "invalid";
41472  }
41473  }
41474 
41476  {
41477  if (!value) return "{}";
41479  if (value & SurfaceCounterFlagBitsEXT::eVblank) result += "Vblank | ";
41480  return "{" + result.substr(0, result.size() - 3) + "}";
41481  }
41482 
41484  {
41485  switch (value)
41486  {
41487  case DisplayPowerStateEXT::eOff: return "Off";
41488  case DisplayPowerStateEXT::eSuspend: return "Suspend";
41489  case DisplayPowerStateEXT::eOn: return "On";
41490  default: return "invalid";
41491  }
41492  }
41493 
41495  {
41496  switch (value)
41497  {
41498  case DeviceEventTypeEXT::eDisplayHotplug: return "DisplayHotplug";
41499  default: return "invalid";
41500  }
41501  }
41502 
41504  {
41505  switch (value)
41506  {
41507  case DisplayEventTypeEXT::eFirstPixelOut: return "FirstPixelOut";
41508  default: return "invalid";
41509  }
41510  }
41511 
41513  {
41514  switch (value)
41515  {
41516  case PeerMemoryFeatureFlagBits::eCopySrc: return "CopySrc";
41517  case PeerMemoryFeatureFlagBits::eCopyDst: return "CopyDst";
41518  case PeerMemoryFeatureFlagBits::eGenericSrc: return "GenericSrc";
41519  case PeerMemoryFeatureFlagBits::eGenericDst: return "GenericDst";
41520  default: return "invalid";
41521  }
41522  }
41523 
41525  {
41526  if (!value) return "{}";
41528  if (value & PeerMemoryFeatureFlagBits::eCopySrc) result += "CopySrc | ";
41529  if (value & PeerMemoryFeatureFlagBits::eCopyDst) result += "CopyDst | ";
41530  if (value & PeerMemoryFeatureFlagBits::eGenericSrc) result += "GenericSrc | ";
41531  if (value & PeerMemoryFeatureFlagBits::eGenericDst) result += "GenericDst | ";
41532  return "{" + result.substr(0, result.size() - 3) + "}";
41533  }
41534 
41536  {
41537  switch (value)
41538  {
41539  case MemoryAllocateFlagBits::eDeviceMask: return "DeviceMask";
41540  default: return "invalid";
41541  }
41542  }
41543 
41545  {
41546  if (!value) return "{}";
41548  if (value & MemoryAllocateFlagBits::eDeviceMask) result += "DeviceMask | ";
41549  return "{" + result.substr(0, result.size() - 3) + "}";
41550  }
41551 
41553  {
41554  switch (value)
41555  {
41556  case DeviceGroupPresentModeFlagBitsKHR::eLocal: return "Local";
41557  case DeviceGroupPresentModeFlagBitsKHR::eRemote: return "Remote";
41558  case DeviceGroupPresentModeFlagBitsKHR::eSum: return "Sum";
41559  case DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice: return "LocalMultiDevice";
41560  default: return "invalid";
41561  }
41562  }
41563 
41565  {
41566  if (!value) return "{}";
41571  if (value & DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice) result += "LocalMultiDevice | ";
41572  return "{" + result.substr(0, result.size() - 3) + "}";
41573  }
41574 
41576  {
41577  switch (value)
41578  {
41579  case SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions: return "SplitInstanceBindRegions";
41580  case SwapchainCreateFlagBitsKHR::eProtected: return "Protected";
41581  default: return "invalid";
41582  }
41583  }
41584 
41586  {
41587  if (!value) return "{}";
41589  if (value & SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions) result += "SplitInstanceBindRegions | ";
41590  if (value & SwapchainCreateFlagBitsKHR::eProtected) result += "Protected | ";
41591  return "{" + result.substr(0, result.size() - 3) + "}";
41592  }
41593 
41595  {
41596  switch (value)
41597  {
41598  case ViewportCoordinateSwizzleNV::ePositiveX: return "PositiveX";
41599  case ViewportCoordinateSwizzleNV::eNegativeX: return "NegativeX";
41600  case ViewportCoordinateSwizzleNV::ePositiveY: return "PositiveY";
41601  case ViewportCoordinateSwizzleNV::eNegativeY: return "NegativeY";
41602  case ViewportCoordinateSwizzleNV::ePositiveZ: return "PositiveZ";
41603  case ViewportCoordinateSwizzleNV::eNegativeZ: return "NegativeZ";
41604  case ViewportCoordinateSwizzleNV::ePositiveW: return "PositiveW";
41605  case ViewportCoordinateSwizzleNV::eNegativeW: return "NegativeW";
41606  default: return "invalid";
41607  }
41608  }
41609 
41611  {
41612  switch (value)
41613  {
41614  case DiscardRectangleModeEXT::eInclusive: return "Inclusive";
41615  case DiscardRectangleModeEXT::eExclusive: return "Exclusive";
41616  default: return "invalid";
41617  }
41618  }
41619 
41621  {
41622  switch (value)
41623  {
41624  case SubpassDescriptionFlagBits::ePerViewAttributesNVX: return "PerViewAttributesNVX";
41625  case SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX: return "PerViewPositionXOnlyNVX";
41626  default: return "invalid";
41627  }
41628  }
41629 
41631  {
41632  if (!value) return "{}";
41634  if (value & SubpassDescriptionFlagBits::ePerViewAttributesNVX) result += "PerViewAttributesNVX | ";
41635  if (value & SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX) result += "PerViewPositionXOnlyNVX | ";
41636  return "{" + result.substr(0, result.size() - 3) + "}";
41637  }
41638 
41640  {
41641  switch (value)
41642  {
41643  case PointClippingBehavior::eAllClipPlanes: return "AllClipPlanes";
41644  case PointClippingBehavior::eUserClipPlanesOnly: return "UserClipPlanesOnly";
41645  default: return "invalid";
41646  }
41647  }
41648 
41650  {
41651  switch (value)
41652  {
41653  case SamplerReductionModeEXT::eWeightedAverage: return "WeightedAverage";
41654  case SamplerReductionModeEXT::eMin: return "Min";
41655  case SamplerReductionModeEXT::eMax: return "Max";
41656  default: return "invalid";
41657  }
41658  }
41659 
41661  {
41662  switch (value)
41663  {
41664  case TessellationDomainOrigin::eUpperLeft: return "UpperLeft";
41665  case TessellationDomainOrigin::eLowerLeft: return "LowerLeft";
41666  default: return "invalid";
41667  }
41668  }
41669 
41671  {
41672  switch (value)
41673  {
41674  case SamplerYcbcrModelConversion::eRgbIdentity: return "RgbIdentity";
41675  case SamplerYcbcrModelConversion::eYcbcrIdentity: return "YcbcrIdentity";
41676  case SamplerYcbcrModelConversion::eYcbcr709: return "Ycbcr709";
41677  case SamplerYcbcrModelConversion::eYcbcr601: return "Ycbcr601";
41678  case SamplerYcbcrModelConversion::eYcbcr2020: return "Ycbcr2020";
41679  default: return "invalid";
41680  }
41681  }
41682 
41684  {
41685  switch (value)
41686  {
41687  case SamplerYcbcrRange::eItuFull: return "ItuFull";
41688  case SamplerYcbcrRange::eItuNarrow: return "ItuNarrow";
41689  default: return "invalid";
41690  }
41691  }
41692 
41694  {
41695  switch (value)
41696  {
41697  case ChromaLocation::eCositedEven: return "CositedEven";
41698  case ChromaLocation::eMidpoint: return "Midpoint";
41699  default: return "invalid";
41700  }
41701  }
41702 
41704  {
41705  switch (value)
41706  {
41707  case BlendOverlapEXT::eUncorrelated: return "Uncorrelated";
41708  case BlendOverlapEXT::eDisjoint: return "Disjoint";
41709  case BlendOverlapEXT::eConjoint: return "Conjoint";
41710  default: return "invalid";
41711  }
41712  }
41713 
41715  {
41716  switch (value)
41717  {
41718  case CoverageModulationModeNV::eNone: return "None";
41719  case CoverageModulationModeNV::eRgb: return "Rgb";
41720  case CoverageModulationModeNV::eAlpha: return "Alpha";
41721  case CoverageModulationModeNV::eRgba: return "Rgba";
41722  default: return "invalid";
41723  }
41724  }
41725 
41727  {
41728  switch (value)
41729  {
41730  case ValidationCacheHeaderVersionEXT::eOne: return "One";
41731  default: return "invalid";
41732  }
41733  }
41734 
41736  {
41737  switch (value)
41738  {
41739  case ShaderInfoTypeAMD::eStatistics: return "Statistics";
41740  case ShaderInfoTypeAMD::eBinary: return "Binary";
41741  case ShaderInfoTypeAMD::eDisassembly: return "Disassembly";
41742  default: return "invalid";
41743  }
41744  }
41745 
41747  {
41748  switch (value)
41749  {
41750  case QueueGlobalPriorityEXT::eLow: return "Low";
41751  case QueueGlobalPriorityEXT::eMedium: return "Medium";
41752  case QueueGlobalPriorityEXT::eHigh: return "High";
41753  case QueueGlobalPriorityEXT::eRealtime: return "Realtime";
41754  default: return "invalid";
41755  }
41756  }
41757 
41759  {
41760  switch (value)
41761  {
41762  case DebugUtilsMessageSeverityFlagBitsEXT::eVerbose: return "Verbose";
41763  case DebugUtilsMessageSeverityFlagBitsEXT::eInfo: return "Info";
41764  case DebugUtilsMessageSeverityFlagBitsEXT::eWarning: return "Warning";
41765  case DebugUtilsMessageSeverityFlagBitsEXT::eError: return "Error";
41766  default: return "invalid";
41767  }
41768  }
41769 
41771  {
41772  if (!value) return "{}";
41778  return "{" + result.substr(0, result.size() - 3) + "}";
41779  }
41780 
41782  {
41783  switch (value)
41784  {
41785  case DebugUtilsMessageTypeFlagBitsEXT::eGeneral: return "General";
41786  case DebugUtilsMessageTypeFlagBitsEXT::eValidation: return "Validation";
41787  case DebugUtilsMessageTypeFlagBitsEXT::ePerformance: return "Performance";
41788  default: return "invalid";
41789  }
41790  }
41791 
41793  {
41794  if (!value) return "{}";
41798  if (value & DebugUtilsMessageTypeFlagBitsEXT::ePerformance) result += "Performance | ";
41799  return "{" + result.substr(0, result.size() - 3) + "}";
41800  }
41801 
41803  {
41804  switch (value)
41805  {
41806  case ConservativeRasterizationModeEXT::eDisabled: return "Disabled";
41807  case ConservativeRasterizationModeEXT::eOverestimate: return "Overestimate";
41808  case ConservativeRasterizationModeEXT::eUnderestimate: return "Underestimate";
41809  default: return "invalid";
41810  }
41811  }
41812 
41814  {
41815  switch (value)
41816  {
41817  case DescriptorBindingFlagBitsEXT::eUpdateAfterBind: return "UpdateAfterBind";
41818  case DescriptorBindingFlagBitsEXT::eUpdateUnusedWhilePending: return "UpdateUnusedWhilePending";
41819  case DescriptorBindingFlagBitsEXT::ePartiallyBound: return "PartiallyBound";
41820  case DescriptorBindingFlagBitsEXT::eVariableDescriptorCount: return "VariableDescriptorCount";
41821  default: return "invalid";
41822  }
41823  }
41824 
41826  {
41827  if (!value) return "{}";
41829  if (value & DescriptorBindingFlagBitsEXT::eUpdateAfterBind) result += "UpdateAfterBind | ";
41830  if (value & DescriptorBindingFlagBitsEXT::eUpdateUnusedWhilePending) result += "UpdateUnusedWhilePending | ";
41831  if (value & DescriptorBindingFlagBitsEXT::ePartiallyBound) result += "PartiallyBound | ";
41832  if (value & DescriptorBindingFlagBitsEXT::eVariableDescriptorCount) result += "VariableDescriptorCount | ";
41833  return "{" + result.substr(0, result.size() - 3) + "}";
41834  }
41835 
41837  {
41838  public:
41841 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
41843 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
41918 #ifdef VK_USE_PLATFORM_ANDROID_KHR
41920 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
41938 #ifdef VK_USE_PLATFORM_IOS_MVK
41940 #endif /*VK_USE_PLATFORM_IOS_MVK*/
41945 #ifdef VK_USE_PLATFORM_MACOS_MVK
41947 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
41948 #ifdef VK_USE_PLATFORM_MIR_KHR
41950 #endif /*VK_USE_PLATFORM_MIR_KHR*/
41964 #ifdef VK_USE_PLATFORM_VI_NN
41966 #endif /*VK_USE_PLATFORM_VI_NN*/
41967 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
41969 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
41970 #ifdef VK_USE_PLATFORM_WIN32_KHR
41972 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
41973 #ifdef VK_USE_PLATFORM_XCB_KHR
41975 #endif /*VK_USE_PLATFORM_XCB_KHR*/
41976 #ifdef VK_USE_PLATFORM_XLIB_KHR
41978 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
42028 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
42030 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
42050 #ifdef VK_USE_PLATFORM_WIN32_KHR
42052 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42061 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
42063 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
42067 #ifdef VK_USE_PLATFORM_WIN32_KHR
42069 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42070 #ifdef VK_USE_PLATFORM_WIN32_NV
42072 #endif /*VK_USE_PLATFORM_WIN32_NV*/
42073 #ifdef VK_USE_PLATFORM_WIN32_KHR
42075 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42099 #ifdef VK_USE_PLATFORM_MIR_KHR
42101 #endif /*VK_USE_PLATFORM_MIR_KHR*/
42120 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
42122 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
42123 #ifdef VK_USE_PLATFORM_WIN32_KHR
42125 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42126 #ifdef VK_USE_PLATFORM_XCB_KHR
42128 #endif /*VK_USE_PLATFORM_XCB_KHR*/
42129 #ifdef VK_USE_PLATFORM_XLIB_KHR
42131 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
42134 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
42136 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
42140 #ifdef VK_USE_PLATFORM_WIN32_KHR
42142 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42149 #ifdef VK_USE_PLATFORM_WIN32_KHR
42151 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42153 #ifdef VK_USE_PLATFORM_WIN32_KHR
42155 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42189  public:
42191  {
42192  if (instance)
42193  {
42194  init(instance, device);
42195  }
42196  }
42197 
42198  void init(Instance instance, Device device = Device())
42199  {
42200  vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR(device ? device.getProcAddr( "vkAcquireNextImage2KHR") : instance.getProcAddr( "vkAcquireNextImage2KHR"));
42201  vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR(device ? device.getProcAddr( "vkAcquireNextImageKHR") : instance.getProcAddr( "vkAcquireNextImageKHR"));
42202 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
42203  vkAcquireXlibDisplayEXT = PFN_vkAcquireXlibDisplayEXT(device ? device.getProcAddr( "vkAcquireXlibDisplayEXT") : instance.getProcAddr( "vkAcquireXlibDisplayEXT"));
42204 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
42205  vkAllocateCommandBuffers = PFN_vkAllocateCommandBuffers(device ? device.getProcAddr( "vkAllocateCommandBuffers") : instance.getProcAddr( "vkAllocateCommandBuffers"));
42206  vkAllocateDescriptorSets = PFN_vkAllocateDescriptorSets(device ? device.getProcAddr( "vkAllocateDescriptorSets") : instance.getProcAddr( "vkAllocateDescriptorSets"));
42207  vkAllocateMemory = PFN_vkAllocateMemory(device ? device.getProcAddr( "vkAllocateMemory") : instance.getProcAddr( "vkAllocateMemory"));
42208  vkBeginCommandBuffer = PFN_vkBeginCommandBuffer(device ? device.getProcAddr( "vkBeginCommandBuffer") : instance.getProcAddr( "vkBeginCommandBuffer"));
42209  vkBindBufferMemory = PFN_vkBindBufferMemory(device ? device.getProcAddr( "vkBindBufferMemory") : instance.getProcAddr( "vkBindBufferMemory"));
42210  vkBindBufferMemory2 = PFN_vkBindBufferMemory2(device ? device.getProcAddr( "vkBindBufferMemory2") : instance.getProcAddr( "vkBindBufferMemory2"));
42211  vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR(device ? device.getProcAddr( "vkBindBufferMemory2KHR") : instance.getProcAddr( "vkBindBufferMemory2KHR"));
42212  vkBindImageMemory = PFN_vkBindImageMemory(device ? device.getProcAddr( "vkBindImageMemory") : instance.getProcAddr( "vkBindImageMemory"));
42213  vkBindImageMemory2 = PFN_vkBindImageMemory2(device ? device.getProcAddr( "vkBindImageMemory2") : instance.getProcAddr( "vkBindImageMemory2"));
42214  vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR(device ? device.getProcAddr( "vkBindImageMemory2KHR") : instance.getProcAddr( "vkBindImageMemory2KHR"));
42215  vkCmdBeginDebugUtilsLabelEXT = PFN_vkCmdBeginDebugUtilsLabelEXT(device ? device.getProcAddr( "vkCmdBeginDebugUtilsLabelEXT") : instance.getProcAddr( "vkCmdBeginDebugUtilsLabelEXT"));
42216  vkCmdBeginQuery = PFN_vkCmdBeginQuery(device ? device.getProcAddr( "vkCmdBeginQuery") : instance.getProcAddr( "vkCmdBeginQuery"));
42217  vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass(device ? device.getProcAddr( "vkCmdBeginRenderPass") : instance.getProcAddr( "vkCmdBeginRenderPass"));
42218  vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets(device ? device.getProcAddr( "vkCmdBindDescriptorSets") : instance.getProcAddr( "vkCmdBindDescriptorSets"));
42219  vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer(device ? device.getProcAddr( "vkCmdBindIndexBuffer") : instance.getProcAddr( "vkCmdBindIndexBuffer"));
42220  vkCmdBindPipeline = PFN_vkCmdBindPipeline(device ? device.getProcAddr( "vkCmdBindPipeline") : instance.getProcAddr( "vkCmdBindPipeline"));
42221  vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers(device ? device.getProcAddr( "vkCmdBindVertexBuffers") : instance.getProcAddr( "vkCmdBindVertexBuffers"));
42222  vkCmdBlitImage = PFN_vkCmdBlitImage(device ? device.getProcAddr( "vkCmdBlitImage") : instance.getProcAddr( "vkCmdBlitImage"));
42223  vkCmdClearAttachments = PFN_vkCmdClearAttachments(device ? device.getProcAddr( "vkCmdClearAttachments") : instance.getProcAddr( "vkCmdClearAttachments"));
42224  vkCmdClearColorImage = PFN_vkCmdClearColorImage(device ? device.getProcAddr( "vkCmdClearColorImage") : instance.getProcAddr( "vkCmdClearColorImage"));
42225  vkCmdClearDepthStencilImage = PFN_vkCmdClearDepthStencilImage(device ? device.getProcAddr( "vkCmdClearDepthStencilImage") : instance.getProcAddr( "vkCmdClearDepthStencilImage"));
42226  vkCmdCopyBuffer = PFN_vkCmdCopyBuffer(device ? device.getProcAddr( "vkCmdCopyBuffer") : instance.getProcAddr( "vkCmdCopyBuffer"));
42227  vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage(device ? device.getProcAddr( "vkCmdCopyBufferToImage") : instance.getProcAddr( "vkCmdCopyBufferToImage"));
42228  vkCmdCopyImage = PFN_vkCmdCopyImage(device ? device.getProcAddr( "vkCmdCopyImage") : instance.getProcAddr( "vkCmdCopyImage"));
42229  vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer(device ? device.getProcAddr( "vkCmdCopyImageToBuffer") : instance.getProcAddr( "vkCmdCopyImageToBuffer"));
42230  vkCmdCopyQueryPoolResults = PFN_vkCmdCopyQueryPoolResults(device ? device.getProcAddr( "vkCmdCopyQueryPoolResults") : instance.getProcAddr( "vkCmdCopyQueryPoolResults"));
42231  vkCmdDebugMarkerBeginEXT = PFN_vkCmdDebugMarkerBeginEXT(device ? device.getProcAddr( "vkCmdDebugMarkerBeginEXT") : instance.getProcAddr( "vkCmdDebugMarkerBeginEXT"));
42232  vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT(device ? device.getProcAddr( "vkCmdDebugMarkerEndEXT") : instance.getProcAddr( "vkCmdDebugMarkerEndEXT"));
42233  vkCmdDebugMarkerInsertEXT = PFN_vkCmdDebugMarkerInsertEXT(device ? device.getProcAddr( "vkCmdDebugMarkerInsertEXT") : instance.getProcAddr( "vkCmdDebugMarkerInsertEXT"));
42234  vkCmdDispatch = PFN_vkCmdDispatch(device ? device.getProcAddr( "vkCmdDispatch") : instance.getProcAddr( "vkCmdDispatch"));
42235  vkCmdDispatchBase = PFN_vkCmdDispatchBase(device ? device.getProcAddr( "vkCmdDispatchBase") : instance.getProcAddr( "vkCmdDispatchBase"));
42236  vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR(device ? device.getProcAddr( "vkCmdDispatchBaseKHR") : instance.getProcAddr( "vkCmdDispatchBaseKHR"));
42237  vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect(device ? device.getProcAddr( "vkCmdDispatchIndirect") : instance.getProcAddr( "vkCmdDispatchIndirect"));
42238  vkCmdDraw = PFN_vkCmdDraw(device ? device.getProcAddr( "vkCmdDraw") : instance.getProcAddr( "vkCmdDraw"));
42239  vkCmdDrawIndexed = PFN_vkCmdDrawIndexed(device ? device.getProcAddr( "vkCmdDrawIndexed") : instance.getProcAddr( "vkCmdDrawIndexed"));
42240  vkCmdDrawIndexedIndirect = PFN_vkCmdDrawIndexedIndirect(device ? device.getProcAddr( "vkCmdDrawIndexedIndirect") : instance.getProcAddr( "vkCmdDrawIndexedIndirect"));
42241  vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD(device ? device.getProcAddr( "vkCmdDrawIndexedIndirectCountAMD") : instance.getProcAddr( "vkCmdDrawIndexedIndirectCountAMD"));
42242  vkCmdDrawIndirect = PFN_vkCmdDrawIndirect(device ? device.getProcAddr( "vkCmdDrawIndirect") : instance.getProcAddr( "vkCmdDrawIndirect"));
42243  vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD(device ? device.getProcAddr( "vkCmdDrawIndirectCountAMD") : instance.getProcAddr( "vkCmdDrawIndirectCountAMD"));
42244  vkCmdEndDebugUtilsLabelEXT = PFN_vkCmdEndDebugUtilsLabelEXT(device ? device.getProcAddr( "vkCmdEndDebugUtilsLabelEXT") : instance.getProcAddr( "vkCmdEndDebugUtilsLabelEXT"));
42245  vkCmdEndQuery = PFN_vkCmdEndQuery(device ? device.getProcAddr( "vkCmdEndQuery") : instance.getProcAddr( "vkCmdEndQuery"));
42246  vkCmdEndRenderPass = PFN_vkCmdEndRenderPass(device ? device.getProcAddr( "vkCmdEndRenderPass") : instance.getProcAddr( "vkCmdEndRenderPass"));
42247  vkCmdExecuteCommands = PFN_vkCmdExecuteCommands(device ? device.getProcAddr( "vkCmdExecuteCommands") : instance.getProcAddr( "vkCmdExecuteCommands"));
42248  vkCmdFillBuffer = PFN_vkCmdFillBuffer(device ? device.getProcAddr( "vkCmdFillBuffer") : instance.getProcAddr( "vkCmdFillBuffer"));
42249  vkCmdInsertDebugUtilsLabelEXT = PFN_vkCmdInsertDebugUtilsLabelEXT(device ? device.getProcAddr( "vkCmdInsertDebugUtilsLabelEXT") : instance.getProcAddr( "vkCmdInsertDebugUtilsLabelEXT"));
42250  vkCmdNextSubpass = PFN_vkCmdNextSubpass(device ? device.getProcAddr( "vkCmdNextSubpass") : instance.getProcAddr( "vkCmdNextSubpass"));
42251  vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier(device ? device.getProcAddr( "vkCmdPipelineBarrier") : instance.getProcAddr( "vkCmdPipelineBarrier"));
42252  vkCmdProcessCommandsNVX = PFN_vkCmdProcessCommandsNVX(device ? device.getProcAddr( "vkCmdProcessCommandsNVX") : instance.getProcAddr( "vkCmdProcessCommandsNVX"));
42253  vkCmdPushConstants = PFN_vkCmdPushConstants(device ? device.getProcAddr( "vkCmdPushConstants") : instance.getProcAddr( "vkCmdPushConstants"));
42254  vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR(device ? device.getProcAddr( "vkCmdPushDescriptorSetKHR") : instance.getProcAddr( "vkCmdPushDescriptorSetKHR"));
42255  vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplateKHR(device ? device.getProcAddr( "vkCmdPushDescriptorSetWithTemplateKHR") : instance.getProcAddr( "vkCmdPushDescriptorSetWithTemplateKHR"));
42256  vkCmdReserveSpaceForCommandsNVX = PFN_vkCmdReserveSpaceForCommandsNVX(device ? device.getProcAddr( "vkCmdReserveSpaceForCommandsNVX") : instance.getProcAddr( "vkCmdReserveSpaceForCommandsNVX"));
42257  vkCmdResetEvent = PFN_vkCmdResetEvent(device ? device.getProcAddr( "vkCmdResetEvent") : instance.getProcAddr( "vkCmdResetEvent"));
42258  vkCmdResetQueryPool = PFN_vkCmdResetQueryPool(device ? device.getProcAddr( "vkCmdResetQueryPool") : instance.getProcAddr( "vkCmdResetQueryPool"));
42259  vkCmdResolveImage = PFN_vkCmdResolveImage(device ? device.getProcAddr( "vkCmdResolveImage") : instance.getProcAddr( "vkCmdResolveImage"));
42260  vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants(device ? device.getProcAddr( "vkCmdSetBlendConstants") : instance.getProcAddr( "vkCmdSetBlendConstants"));
42261  vkCmdSetDepthBias = PFN_vkCmdSetDepthBias(device ? device.getProcAddr( "vkCmdSetDepthBias") : instance.getProcAddr( "vkCmdSetDepthBias"));
42262  vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds(device ? device.getProcAddr( "vkCmdSetDepthBounds") : instance.getProcAddr( "vkCmdSetDepthBounds"));
42263  vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask(device ? device.getProcAddr( "vkCmdSetDeviceMask") : instance.getProcAddr( "vkCmdSetDeviceMask"));
42264  vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR(device ? device.getProcAddr( "vkCmdSetDeviceMaskKHR") : instance.getProcAddr( "vkCmdSetDeviceMaskKHR"));
42265  vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT(device ? device.getProcAddr( "vkCmdSetDiscardRectangleEXT") : instance.getProcAddr( "vkCmdSetDiscardRectangleEXT"));
42266  vkCmdSetEvent = PFN_vkCmdSetEvent(device ? device.getProcAddr( "vkCmdSetEvent") : instance.getProcAddr( "vkCmdSetEvent"));
42267  vkCmdSetLineWidth = PFN_vkCmdSetLineWidth(device ? device.getProcAddr( "vkCmdSetLineWidth") : instance.getProcAddr( "vkCmdSetLineWidth"));
42268  vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT(device ? device.getProcAddr( "vkCmdSetSampleLocationsEXT") : instance.getProcAddr( "vkCmdSetSampleLocationsEXT"));
42269  vkCmdSetScissor = PFN_vkCmdSetScissor(device ? device.getProcAddr( "vkCmdSetScissor") : instance.getProcAddr( "vkCmdSetScissor"));
42270  vkCmdSetStencilCompareMask = PFN_vkCmdSetStencilCompareMask(device ? device.getProcAddr( "vkCmdSetStencilCompareMask") : instance.getProcAddr( "vkCmdSetStencilCompareMask"));
42271  vkCmdSetStencilReference = PFN_vkCmdSetStencilReference(device ? device.getProcAddr( "vkCmdSetStencilReference") : instance.getProcAddr( "vkCmdSetStencilReference"));
42272  vkCmdSetStencilWriteMask = PFN_vkCmdSetStencilWriteMask(device ? device.getProcAddr( "vkCmdSetStencilWriteMask") : instance.getProcAddr( "vkCmdSetStencilWriteMask"));
42273  vkCmdSetViewport = PFN_vkCmdSetViewport(device ? device.getProcAddr( "vkCmdSetViewport") : instance.getProcAddr( "vkCmdSetViewport"));
42274  vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV(device ? device.getProcAddr( "vkCmdSetViewportWScalingNV") : instance.getProcAddr( "vkCmdSetViewportWScalingNV"));
42275  vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer(device ? device.getProcAddr( "vkCmdUpdateBuffer") : instance.getProcAddr( "vkCmdUpdateBuffer"));
42276  vkCmdWaitEvents = PFN_vkCmdWaitEvents(device ? device.getProcAddr( "vkCmdWaitEvents") : instance.getProcAddr( "vkCmdWaitEvents"));
42277  vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD(device ? device.getProcAddr( "vkCmdWriteBufferMarkerAMD") : instance.getProcAddr( "vkCmdWriteBufferMarkerAMD"));
42278  vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp(device ? device.getProcAddr( "vkCmdWriteTimestamp") : instance.getProcAddr( "vkCmdWriteTimestamp"));
42279 #ifdef VK_USE_PLATFORM_ANDROID_KHR
42280  vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR(instance.getProcAddr( "vkCreateAndroidSurfaceKHR"));
42281 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
42282  vkCreateBuffer = PFN_vkCreateBuffer(device ? device.getProcAddr( "vkCreateBuffer") : instance.getProcAddr( "vkCreateBuffer"));
42283  vkCreateBufferView = PFN_vkCreateBufferView(device ? device.getProcAddr( "vkCreateBufferView") : instance.getProcAddr( "vkCreateBufferView"));
42284  vkCreateCommandPool = PFN_vkCreateCommandPool(device ? device.getProcAddr( "vkCreateCommandPool") : instance.getProcAddr( "vkCreateCommandPool"));
42285  vkCreateComputePipelines = PFN_vkCreateComputePipelines(device ? device.getProcAddr( "vkCreateComputePipelines") : instance.getProcAddr( "vkCreateComputePipelines"));
42286  vkCreateDebugReportCallbackEXT = PFN_vkCreateDebugReportCallbackEXT(instance.getProcAddr( "vkCreateDebugReportCallbackEXT"));
42287  vkCreateDebugUtilsMessengerEXT = PFN_vkCreateDebugUtilsMessengerEXT(instance.getProcAddr( "vkCreateDebugUtilsMessengerEXT"));
42288  vkCreateDescriptorPool = PFN_vkCreateDescriptorPool(device ? device.getProcAddr( "vkCreateDescriptorPool") : instance.getProcAddr( "vkCreateDescriptorPool"));
42289  vkCreateDescriptorSetLayout = PFN_vkCreateDescriptorSetLayout(device ? device.getProcAddr( "vkCreateDescriptorSetLayout") : instance.getProcAddr( "vkCreateDescriptorSetLayout"));
42290  vkCreateDescriptorUpdateTemplate = PFN_vkCreateDescriptorUpdateTemplate(device ? device.getProcAddr( "vkCreateDescriptorUpdateTemplate") : instance.getProcAddr( "vkCreateDescriptorUpdateTemplate"));
42291  vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR(device ? device.getProcAddr( "vkCreateDescriptorUpdateTemplateKHR") : instance.getProcAddr( "vkCreateDescriptorUpdateTemplateKHR"));
42292  vkCreateDevice = PFN_vkCreateDevice(device ? device.getProcAddr( "vkCreateDevice") : instance.getProcAddr( "vkCreateDevice"));
42293  vkCreateDisplayModeKHR = PFN_vkCreateDisplayModeKHR(device ? device.getProcAddr( "vkCreateDisplayModeKHR") : instance.getProcAddr( "vkCreateDisplayModeKHR"));
42294  vkCreateDisplayPlaneSurfaceKHR = PFN_vkCreateDisplayPlaneSurfaceKHR(instance.getProcAddr( "vkCreateDisplayPlaneSurfaceKHR"));
42295  vkCreateEvent = PFN_vkCreateEvent(device ? device.getProcAddr( "vkCreateEvent") : instance.getProcAddr( "vkCreateEvent"));
42296  vkCreateFence = PFN_vkCreateFence(device ? device.getProcAddr( "vkCreateFence") : instance.getProcAddr( "vkCreateFence"));
42297  vkCreateFramebuffer = PFN_vkCreateFramebuffer(device ? device.getProcAddr( "vkCreateFramebuffer") : instance.getProcAddr( "vkCreateFramebuffer"));
42298  vkCreateGraphicsPipelines = PFN_vkCreateGraphicsPipelines(device ? device.getProcAddr( "vkCreateGraphicsPipelines") : instance.getProcAddr( "vkCreateGraphicsPipelines"));
42299 #ifdef VK_USE_PLATFORM_IOS_MVK
42300  vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK(instance.getProcAddr( "vkCreateIOSSurfaceMVK"));
42301 #endif /*VK_USE_PLATFORM_IOS_MVK*/
42302  vkCreateImage = PFN_vkCreateImage(device ? device.getProcAddr( "vkCreateImage") : instance.getProcAddr( "vkCreateImage"));
42303  vkCreateImageView = PFN_vkCreateImageView(device ? device.getProcAddr( "vkCreateImageView") : instance.getProcAddr( "vkCreateImageView"));
42304  vkCreateIndirectCommandsLayoutNVX = PFN_vkCreateIndirectCommandsLayoutNVX(device ? device.getProcAddr( "vkCreateIndirectCommandsLayoutNVX") : instance.getProcAddr( "vkCreateIndirectCommandsLayoutNVX"));
42305  vkCreateInstance = PFN_vkCreateInstance(instance.getProcAddr( "vkCreateInstance"));
42306 #ifdef VK_USE_PLATFORM_MACOS_MVK
42307  vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK(instance.getProcAddr( "vkCreateMacOSSurfaceMVK"));
42308 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
42309 #ifdef VK_USE_PLATFORM_MIR_KHR
42310  vkCreateMirSurfaceKHR = PFN_vkCreateMirSurfaceKHR(instance.getProcAddr( "vkCreateMirSurfaceKHR"));
42311 #endif /*VK_USE_PLATFORM_MIR_KHR*/
42312  vkCreateObjectTableNVX = PFN_vkCreateObjectTableNVX(device ? device.getProcAddr( "vkCreateObjectTableNVX") : instance.getProcAddr( "vkCreateObjectTableNVX"));
42313  vkCreatePipelineCache = PFN_vkCreatePipelineCache(device ? device.getProcAddr( "vkCreatePipelineCache") : instance.getProcAddr( "vkCreatePipelineCache"));
42314  vkCreatePipelineLayout = PFN_vkCreatePipelineLayout(device ? device.getProcAddr( "vkCreatePipelineLayout") : instance.getProcAddr( "vkCreatePipelineLayout"));
42315  vkCreateQueryPool = PFN_vkCreateQueryPool(device ? device.getProcAddr( "vkCreateQueryPool") : instance.getProcAddr( "vkCreateQueryPool"));
42316  vkCreateRenderPass = PFN_vkCreateRenderPass(device ? device.getProcAddr( "vkCreateRenderPass") : instance.getProcAddr( "vkCreateRenderPass"));
42317  vkCreateSampler = PFN_vkCreateSampler(device ? device.getProcAddr( "vkCreateSampler") : instance.getProcAddr( "vkCreateSampler"));
42318  vkCreateSamplerYcbcrConversion = PFN_vkCreateSamplerYcbcrConversion(device ? device.getProcAddr( "vkCreateSamplerYcbcrConversion") : instance.getProcAddr( "vkCreateSamplerYcbcrConversion"));
42319  vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR(device ? device.getProcAddr( "vkCreateSamplerYcbcrConversionKHR") : instance.getProcAddr( "vkCreateSamplerYcbcrConversionKHR"));
42320  vkCreateSemaphore = PFN_vkCreateSemaphore(device ? device.getProcAddr( "vkCreateSemaphore") : instance.getProcAddr( "vkCreateSemaphore"));
42321  vkCreateShaderModule = PFN_vkCreateShaderModule(device ? device.getProcAddr( "vkCreateShaderModule") : instance.getProcAddr( "vkCreateShaderModule"));
42322  vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR(device ? device.getProcAddr( "vkCreateSharedSwapchainsKHR") : instance.getProcAddr( "vkCreateSharedSwapchainsKHR"));
42323  vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR(device ? device.getProcAddr( "vkCreateSwapchainKHR") : instance.getProcAddr( "vkCreateSwapchainKHR"));
42324  vkCreateValidationCacheEXT = PFN_vkCreateValidationCacheEXT(device ? device.getProcAddr( "vkCreateValidationCacheEXT") : instance.getProcAddr( "vkCreateValidationCacheEXT"));
42325 #ifdef VK_USE_PLATFORM_VI_NN
42326  vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN(instance.getProcAddr( "vkCreateViSurfaceNN"));
42327 #endif /*VK_USE_PLATFORM_VI_NN*/
42328 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
42329  vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR(instance.getProcAddr( "vkCreateWaylandSurfaceKHR"));
42330 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
42331 #ifdef VK_USE_PLATFORM_WIN32_KHR
42332  vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR(instance.getProcAddr( "vkCreateWin32SurfaceKHR"));
42333 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42334 #ifdef VK_USE_PLATFORM_XCB_KHR
42335  vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR(instance.getProcAddr( "vkCreateXcbSurfaceKHR"));
42336 #endif /*VK_USE_PLATFORM_XCB_KHR*/
42337 #ifdef VK_USE_PLATFORM_XLIB_KHR
42338  vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR(instance.getProcAddr( "vkCreateXlibSurfaceKHR"));
42339 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
42340  vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT(device ? device.getProcAddr( "vkDebugMarkerSetObjectNameEXT") : instance.getProcAddr( "vkDebugMarkerSetObjectNameEXT"));
42341  vkDebugMarkerSetObjectTagEXT = PFN_vkDebugMarkerSetObjectTagEXT(device ? device.getProcAddr( "vkDebugMarkerSetObjectTagEXT") : instance.getProcAddr( "vkDebugMarkerSetObjectTagEXT"));
42342  vkDebugReportMessageEXT = PFN_vkDebugReportMessageEXT(instance.getProcAddr( "vkDebugReportMessageEXT"));
42343  vkDestroyBuffer = PFN_vkDestroyBuffer(device ? device.getProcAddr( "vkDestroyBuffer") : instance.getProcAddr( "vkDestroyBuffer"));
42344  vkDestroyBufferView = PFN_vkDestroyBufferView(device ? device.getProcAddr( "vkDestroyBufferView") : instance.getProcAddr( "vkDestroyBufferView"));
42345  vkDestroyCommandPool = PFN_vkDestroyCommandPool(device ? device.getProcAddr( "vkDestroyCommandPool") : instance.getProcAddr( "vkDestroyCommandPool"));
42346  vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT(instance.getProcAddr( "vkDestroyDebugReportCallbackEXT"));
42347  vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT(instance.getProcAddr( "vkDestroyDebugUtilsMessengerEXT"));
42348  vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool(device ? device.getProcAddr( "vkDestroyDescriptorPool") : instance.getProcAddr( "vkDestroyDescriptorPool"));
42349  vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout(device ? device.getProcAddr( "vkDestroyDescriptorSetLayout") : instance.getProcAddr( "vkDestroyDescriptorSetLayout"));
42350  vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate(device ? device.getProcAddr( "vkDestroyDescriptorUpdateTemplate") : instance.getProcAddr( "vkDestroyDescriptorUpdateTemplate"));
42351  vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR(device ? device.getProcAddr( "vkDestroyDescriptorUpdateTemplateKHR") : instance.getProcAddr( "vkDestroyDescriptorUpdateTemplateKHR"));
42352  vkDestroyDevice = PFN_vkDestroyDevice(device ? device.getProcAddr( "vkDestroyDevice") : instance.getProcAddr( "vkDestroyDevice"));
42353  vkDestroyEvent = PFN_vkDestroyEvent(device ? device.getProcAddr( "vkDestroyEvent") : instance.getProcAddr( "vkDestroyEvent"));
42354  vkDestroyFence = PFN_vkDestroyFence(device ? device.getProcAddr( "vkDestroyFence") : instance.getProcAddr( "vkDestroyFence"));
42355  vkDestroyFramebuffer = PFN_vkDestroyFramebuffer(device ? device.getProcAddr( "vkDestroyFramebuffer") : instance.getProcAddr( "vkDestroyFramebuffer"));
42356  vkDestroyImage = PFN_vkDestroyImage(device ? device.getProcAddr( "vkDestroyImage") : instance.getProcAddr( "vkDestroyImage"));
42357  vkDestroyImageView = PFN_vkDestroyImageView(device ? device.getProcAddr( "vkDestroyImageView") : instance.getProcAddr( "vkDestroyImageView"));
42358  vkDestroyIndirectCommandsLayoutNVX = PFN_vkDestroyIndirectCommandsLayoutNVX(device ? device.getProcAddr( "vkDestroyIndirectCommandsLayoutNVX") : instance.getProcAddr( "vkDestroyIndirectCommandsLayoutNVX"));
42359  vkDestroyInstance = PFN_vkDestroyInstance(instance.getProcAddr( "vkDestroyInstance"));
42360  vkDestroyObjectTableNVX = PFN_vkDestroyObjectTableNVX(device ? device.getProcAddr( "vkDestroyObjectTableNVX") : instance.getProcAddr( "vkDestroyObjectTableNVX"));
42361  vkDestroyPipeline = PFN_vkDestroyPipeline(device ? device.getProcAddr( "vkDestroyPipeline") : instance.getProcAddr( "vkDestroyPipeline"));
42362  vkDestroyPipelineCache = PFN_vkDestroyPipelineCache(device ? device.getProcAddr( "vkDestroyPipelineCache") : instance.getProcAddr( "vkDestroyPipelineCache"));
42363  vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout(device ? device.getProcAddr( "vkDestroyPipelineLayout") : instance.getProcAddr( "vkDestroyPipelineLayout"));
42364  vkDestroyQueryPool = PFN_vkDestroyQueryPool(device ? device.getProcAddr( "vkDestroyQueryPool") : instance.getProcAddr( "vkDestroyQueryPool"));
42365  vkDestroyRenderPass = PFN_vkDestroyRenderPass(device ? device.getProcAddr( "vkDestroyRenderPass") : instance.getProcAddr( "vkDestroyRenderPass"));
42366  vkDestroySampler = PFN_vkDestroySampler(device ? device.getProcAddr( "vkDestroySampler") : instance.getProcAddr( "vkDestroySampler"));
42367  vkDestroySamplerYcbcrConversion = PFN_vkDestroySamplerYcbcrConversion(device ? device.getProcAddr( "vkDestroySamplerYcbcrConversion") : instance.getProcAddr( "vkDestroySamplerYcbcrConversion"));
42368  vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR(device ? device.getProcAddr( "vkDestroySamplerYcbcrConversionKHR") : instance.getProcAddr( "vkDestroySamplerYcbcrConversionKHR"));
42369  vkDestroySemaphore = PFN_vkDestroySemaphore(device ? device.getProcAddr( "vkDestroySemaphore") : instance.getProcAddr( "vkDestroySemaphore"));
42370  vkDestroyShaderModule = PFN_vkDestroyShaderModule(device ? device.getProcAddr( "vkDestroyShaderModule") : instance.getProcAddr( "vkDestroyShaderModule"));
42371  vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR(instance.getProcAddr( "vkDestroySurfaceKHR"));
42372  vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR(device ? device.getProcAddr( "vkDestroySwapchainKHR") : instance.getProcAddr( "vkDestroySwapchainKHR"));
42373  vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT(device ? device.getProcAddr( "vkDestroyValidationCacheEXT") : instance.getProcAddr( "vkDestroyValidationCacheEXT"));
42374  vkDeviceWaitIdle = PFN_vkDeviceWaitIdle(device ? device.getProcAddr( "vkDeviceWaitIdle") : instance.getProcAddr( "vkDeviceWaitIdle"));
42375  vkDisplayPowerControlEXT = PFN_vkDisplayPowerControlEXT(device ? device.getProcAddr( "vkDisplayPowerControlEXT") : instance.getProcAddr( "vkDisplayPowerControlEXT"));
42376  vkEndCommandBuffer = PFN_vkEndCommandBuffer(device ? device.getProcAddr( "vkEndCommandBuffer") : instance.getProcAddr( "vkEndCommandBuffer"));
42377  vkEnumerateDeviceExtensionProperties = PFN_vkEnumerateDeviceExtensionProperties(device ? device.getProcAddr( "vkEnumerateDeviceExtensionProperties") : instance.getProcAddr( "vkEnumerateDeviceExtensionProperties"));
42378  vkEnumerateDeviceLayerProperties = PFN_vkEnumerateDeviceLayerProperties(device ? device.getProcAddr( "vkEnumerateDeviceLayerProperties") : instance.getProcAddr( "vkEnumerateDeviceLayerProperties"));
42379  vkEnumerateInstanceExtensionProperties = PFN_vkEnumerateInstanceExtensionProperties(instance.getProcAddr( "vkEnumerateInstanceExtensionProperties"));
42380  vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties(instance.getProcAddr( "vkEnumerateInstanceLayerProperties"));
42381  vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion(instance.getProcAddr( "vkEnumerateInstanceVersion"));
42382  vkEnumeratePhysicalDeviceGroups = PFN_vkEnumeratePhysicalDeviceGroups(instance.getProcAddr( "vkEnumeratePhysicalDeviceGroups"));
42383  vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR(instance.getProcAddr( "vkEnumeratePhysicalDeviceGroupsKHR"));
42384  vkEnumeratePhysicalDevices = PFN_vkEnumeratePhysicalDevices(instance.getProcAddr( "vkEnumeratePhysicalDevices"));
42385  vkFlushMappedMemoryRanges = PFN_vkFlushMappedMemoryRanges(device ? device.getProcAddr( "vkFlushMappedMemoryRanges") : instance.getProcAddr( "vkFlushMappedMemoryRanges"));
42386  vkFreeCommandBuffers = PFN_vkFreeCommandBuffers(device ? device.getProcAddr( "vkFreeCommandBuffers") : instance.getProcAddr( "vkFreeCommandBuffers"));
42387  vkFreeDescriptorSets = PFN_vkFreeDescriptorSets(device ? device.getProcAddr( "vkFreeDescriptorSets") : instance.getProcAddr( "vkFreeDescriptorSets"));
42388  vkFreeMemory = PFN_vkFreeMemory(device ? device.getProcAddr( "vkFreeMemory") : instance.getProcAddr( "vkFreeMemory"));
42389 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
42390  vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID(device ? device.getProcAddr( "vkGetAndroidHardwareBufferPropertiesANDROID") : instance.getProcAddr( "vkGetAndroidHardwareBufferPropertiesANDROID"));
42391 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
42392  vkGetBufferMemoryRequirements = PFN_vkGetBufferMemoryRequirements(device ? device.getProcAddr( "vkGetBufferMemoryRequirements") : instance.getProcAddr( "vkGetBufferMemoryRequirements"));
42393  vkGetBufferMemoryRequirements2 = PFN_vkGetBufferMemoryRequirements2(device ? device.getProcAddr( "vkGetBufferMemoryRequirements2") : instance.getProcAddr( "vkGetBufferMemoryRequirements2"));
42394  vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR(device ? device.getProcAddr( "vkGetBufferMemoryRequirements2KHR") : instance.getProcAddr( "vkGetBufferMemoryRequirements2KHR"));
42395  vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport(device ? device.getProcAddr( "vkGetDescriptorSetLayoutSupport") : instance.getProcAddr( "vkGetDescriptorSetLayoutSupport"));
42396  vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR(device ? device.getProcAddr( "vkGetDescriptorSetLayoutSupportKHR") : instance.getProcAddr( "vkGetDescriptorSetLayoutSupportKHR"));
42397  vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures(device ? device.getProcAddr( "vkGetDeviceGroupPeerMemoryFeatures") : instance.getProcAddr( "vkGetDeviceGroupPeerMemoryFeatures"));
42398  vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(device ? device.getProcAddr( "vkGetDeviceGroupPeerMemoryFeaturesKHR") : instance.getProcAddr( "vkGetDeviceGroupPeerMemoryFeaturesKHR"));
42399  vkGetDeviceGroupPresentCapabilitiesKHR = PFN_vkGetDeviceGroupPresentCapabilitiesKHR(device ? device.getProcAddr( "vkGetDeviceGroupPresentCapabilitiesKHR") : instance.getProcAddr( "vkGetDeviceGroupPresentCapabilitiesKHR"));
42400  vkGetDeviceGroupSurfacePresentModesKHR = PFN_vkGetDeviceGroupSurfacePresentModesKHR(device ? device.getProcAddr( "vkGetDeviceGroupSurfacePresentModesKHR") : instance.getProcAddr( "vkGetDeviceGroupSurfacePresentModesKHR"));
42401  vkGetDeviceMemoryCommitment = PFN_vkGetDeviceMemoryCommitment(device ? device.getProcAddr( "vkGetDeviceMemoryCommitment") : instance.getProcAddr( "vkGetDeviceMemoryCommitment"));
42402  vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr(device ? device.getProcAddr( "vkGetDeviceProcAddr") : instance.getProcAddr( "vkGetDeviceProcAddr"));
42403  vkGetDeviceQueue = PFN_vkGetDeviceQueue(device ? device.getProcAddr( "vkGetDeviceQueue") : instance.getProcAddr( "vkGetDeviceQueue"));
42404  vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2(device ? device.getProcAddr( "vkGetDeviceQueue2") : instance.getProcAddr( "vkGetDeviceQueue2"));
42405  vkGetDisplayModePropertiesKHR = PFN_vkGetDisplayModePropertiesKHR(device ? device.getProcAddr( "vkGetDisplayModePropertiesKHR") : instance.getProcAddr( "vkGetDisplayModePropertiesKHR"));
42406  vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR(device ? device.getProcAddr( "vkGetDisplayPlaneCapabilitiesKHR") : instance.getProcAddr( "vkGetDisplayPlaneCapabilitiesKHR"));
42407  vkGetDisplayPlaneSupportedDisplaysKHR = PFN_vkGetDisplayPlaneSupportedDisplaysKHR(device ? device.getProcAddr( "vkGetDisplayPlaneSupportedDisplaysKHR") : instance.getProcAddr( "vkGetDisplayPlaneSupportedDisplaysKHR"));
42408  vkGetEventStatus = PFN_vkGetEventStatus(device ? device.getProcAddr( "vkGetEventStatus") : instance.getProcAddr( "vkGetEventStatus"));
42409  vkGetFenceFdKHR = PFN_vkGetFenceFdKHR(device ? device.getProcAddr( "vkGetFenceFdKHR") : instance.getProcAddr( "vkGetFenceFdKHR"));
42410  vkGetFenceStatus = PFN_vkGetFenceStatus(device ? device.getProcAddr( "vkGetFenceStatus") : instance.getProcAddr( "vkGetFenceStatus"));
42411 #ifdef VK_USE_PLATFORM_WIN32_KHR
42412  vkGetFenceWin32HandleKHR = PFN_vkGetFenceWin32HandleKHR(device ? device.getProcAddr( "vkGetFenceWin32HandleKHR") : instance.getProcAddr( "vkGetFenceWin32HandleKHR"));
42413 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42414  vkGetImageMemoryRequirements = PFN_vkGetImageMemoryRequirements(device ? device.getProcAddr( "vkGetImageMemoryRequirements") : instance.getProcAddr( "vkGetImageMemoryRequirements"));
42415  vkGetImageMemoryRequirements2 = PFN_vkGetImageMemoryRequirements2(device ? device.getProcAddr( "vkGetImageMemoryRequirements2") : instance.getProcAddr( "vkGetImageMemoryRequirements2"));
42416  vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR(device ? device.getProcAddr( "vkGetImageMemoryRequirements2KHR") : instance.getProcAddr( "vkGetImageMemoryRequirements2KHR"));
42417  vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements(device ? device.getProcAddr( "vkGetImageSparseMemoryRequirements") : instance.getProcAddr( "vkGetImageSparseMemoryRequirements"));
42418  vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2(device ? device.getProcAddr( "vkGetImageSparseMemoryRequirements2") : instance.getProcAddr( "vkGetImageSparseMemoryRequirements2"));
42419  vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR(device ? device.getProcAddr( "vkGetImageSparseMemoryRequirements2KHR") : instance.getProcAddr( "vkGetImageSparseMemoryRequirements2KHR"));
42420  vkGetImageSubresourceLayout = PFN_vkGetImageSubresourceLayout(device ? device.getProcAddr( "vkGetImageSubresourceLayout") : instance.getProcAddr( "vkGetImageSubresourceLayout"));
42421  vkGetInstanceProcAddr = PFN_vkGetInstanceProcAddr(instance.getProcAddr( "vkGetInstanceProcAddr"));
42422 #ifdef VK_USE_PLATFORM_ANDROID_ANDROID
42423  vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID(device ? device.getProcAddr( "vkGetMemoryAndroidHardwareBufferANDROID") : instance.getProcAddr( "vkGetMemoryAndroidHardwareBufferANDROID"));
42424 #endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
42425  vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR(device ? device.getProcAddr( "vkGetMemoryFdKHR") : instance.getProcAddr( "vkGetMemoryFdKHR"));
42426  vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR(device ? device.getProcAddr( "vkGetMemoryFdPropertiesKHR") : instance.getProcAddr( "vkGetMemoryFdPropertiesKHR"));
42427  vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT(device ? device.getProcAddr( "vkGetMemoryHostPointerPropertiesEXT") : instance.getProcAddr( "vkGetMemoryHostPointerPropertiesEXT"));
42428 #ifdef VK_USE_PLATFORM_WIN32_KHR
42429  vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR(device ? device.getProcAddr( "vkGetMemoryWin32HandleKHR") : instance.getProcAddr( "vkGetMemoryWin32HandleKHR"));
42430 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42431 #ifdef VK_USE_PLATFORM_WIN32_NV
42432  vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV(device ? device.getProcAddr( "vkGetMemoryWin32HandleNV") : instance.getProcAddr( "vkGetMemoryWin32HandleNV"));
42433 #endif /*VK_USE_PLATFORM_WIN32_NV*/
42434 #ifdef VK_USE_PLATFORM_WIN32_KHR
42435  vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR(device ? device.getProcAddr( "vkGetMemoryWin32HandlePropertiesKHR") : instance.getProcAddr( "vkGetMemoryWin32HandlePropertiesKHR"));
42436 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42437  vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE(device ? device.getProcAddr( "vkGetPastPresentationTimingGOOGLE") : instance.getProcAddr( "vkGetPastPresentationTimingGOOGLE"));
42438  vkGetPhysicalDeviceDisplayPlanePropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceDisplayPlanePropertiesKHR") : instance.getProcAddr( "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"));
42439  vkGetPhysicalDeviceDisplayPropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPropertiesKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceDisplayPropertiesKHR") : instance.getProcAddr( "vkGetPhysicalDeviceDisplayPropertiesKHR"));
42440  vkGetPhysicalDeviceExternalBufferProperties = PFN_vkGetPhysicalDeviceExternalBufferProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceExternalBufferProperties") : instance.getProcAddr( "vkGetPhysicalDeviceExternalBufferProperties"));
42441  vkGetPhysicalDeviceExternalBufferPropertiesKHR = PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceExternalBufferPropertiesKHR") : instance.getProcAddr( "vkGetPhysicalDeviceExternalBufferPropertiesKHR"));
42442  vkGetPhysicalDeviceExternalFenceProperties = PFN_vkGetPhysicalDeviceExternalFenceProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceExternalFenceProperties") : instance.getProcAddr( "vkGetPhysicalDeviceExternalFenceProperties"));
42443  vkGetPhysicalDeviceExternalFencePropertiesKHR = PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceExternalFencePropertiesKHR") : instance.getProcAddr( "vkGetPhysicalDeviceExternalFencePropertiesKHR"));
42444  vkGetPhysicalDeviceExternalImageFormatPropertiesNV = PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV(device ? device.getProcAddr( "vkGetPhysicalDeviceExternalImageFormatPropertiesNV") : instance.getProcAddr( "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"));
42445  vkGetPhysicalDeviceExternalSemaphoreProperties = PFN_vkGetPhysicalDeviceExternalSemaphoreProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceExternalSemaphoreProperties") : instance.getProcAddr( "vkGetPhysicalDeviceExternalSemaphoreProperties"));
42446  vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR") : instance.getProcAddr( "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"));
42447  vkGetPhysicalDeviceFeatures = PFN_vkGetPhysicalDeviceFeatures(device ? device.getProcAddr( "vkGetPhysicalDeviceFeatures") : instance.getProcAddr( "vkGetPhysicalDeviceFeatures"));
42448  vkGetPhysicalDeviceFeatures2 = PFN_vkGetPhysicalDeviceFeatures2(device ? device.getProcAddr( "vkGetPhysicalDeviceFeatures2") : instance.getProcAddr( "vkGetPhysicalDeviceFeatures2"));
42449  vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceFeatures2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceFeatures2KHR"));
42450  vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceFormatProperties") : instance.getProcAddr( "vkGetPhysicalDeviceFormatProperties"));
42451  vkGetPhysicalDeviceFormatProperties2 = PFN_vkGetPhysicalDeviceFormatProperties2(device ? device.getProcAddr( "vkGetPhysicalDeviceFormatProperties2") : instance.getProcAddr( "vkGetPhysicalDeviceFormatProperties2"));
42452  vkGetPhysicalDeviceFormatProperties2KHR = PFN_vkGetPhysicalDeviceFormatProperties2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceFormatProperties2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceFormatProperties2KHR"));
42453  vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(device ? device.getProcAddr( "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX") : instance.getProcAddr( "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"));
42454  vkGetPhysicalDeviceImageFormatProperties = PFN_vkGetPhysicalDeviceImageFormatProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceImageFormatProperties") : instance.getProcAddr( "vkGetPhysicalDeviceImageFormatProperties"));
42455  vkGetPhysicalDeviceImageFormatProperties2 = PFN_vkGetPhysicalDeviceImageFormatProperties2(device ? device.getProcAddr( "vkGetPhysicalDeviceImageFormatProperties2") : instance.getProcAddr( "vkGetPhysicalDeviceImageFormatProperties2"));
42456  vkGetPhysicalDeviceImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceImageFormatProperties2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceImageFormatProperties2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceImageFormatProperties2KHR"));
42457  vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceMemoryProperties") : instance.getProcAddr( "vkGetPhysicalDeviceMemoryProperties"));
42458  vkGetPhysicalDeviceMemoryProperties2 = PFN_vkGetPhysicalDeviceMemoryProperties2(device ? device.getProcAddr( "vkGetPhysicalDeviceMemoryProperties2") : instance.getProcAddr( "vkGetPhysicalDeviceMemoryProperties2"));
42459  vkGetPhysicalDeviceMemoryProperties2KHR = PFN_vkGetPhysicalDeviceMemoryProperties2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceMemoryProperties2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceMemoryProperties2KHR"));
42460 #ifdef VK_USE_PLATFORM_MIR_KHR
42461  vkGetPhysicalDeviceMirPresentationSupportKHR = PFN_vkGetPhysicalDeviceMirPresentationSupportKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceMirPresentationSupportKHR") : instance.getProcAddr( "vkGetPhysicalDeviceMirPresentationSupportKHR"));
42462 #endif /*VK_USE_PLATFORM_MIR_KHR*/
42463  vkGetPhysicalDeviceMultisamplePropertiesEXT = PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT(device ? device.getProcAddr( "vkGetPhysicalDeviceMultisamplePropertiesEXT") : instance.getProcAddr( "vkGetPhysicalDeviceMultisamplePropertiesEXT"));
42464  vkGetPhysicalDevicePresentRectanglesKHR = PFN_vkGetPhysicalDevicePresentRectanglesKHR(device ? device.getProcAddr( "vkGetPhysicalDevicePresentRectanglesKHR") : instance.getProcAddr( "vkGetPhysicalDevicePresentRectanglesKHR"));
42465  vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceProperties") : instance.getProcAddr( "vkGetPhysicalDeviceProperties"));
42466  vkGetPhysicalDeviceProperties2 = PFN_vkGetPhysicalDeviceProperties2(device ? device.getProcAddr( "vkGetPhysicalDeviceProperties2") : instance.getProcAddr( "vkGetPhysicalDeviceProperties2"));
42467  vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceProperties2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceProperties2KHR"));
42468  vkGetPhysicalDeviceQueueFamilyProperties = PFN_vkGetPhysicalDeviceQueueFamilyProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceQueueFamilyProperties") : instance.getProcAddr( "vkGetPhysicalDeviceQueueFamilyProperties"));
42469  vkGetPhysicalDeviceQueueFamilyProperties2 = PFN_vkGetPhysicalDeviceQueueFamilyProperties2(device ? device.getProcAddr( "vkGetPhysicalDeviceQueueFamilyProperties2") : instance.getProcAddr( "vkGetPhysicalDeviceQueueFamilyProperties2"));
42470  vkGetPhysicalDeviceQueueFamilyProperties2KHR = PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceQueueFamilyProperties2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceQueueFamilyProperties2KHR"));
42471  vkGetPhysicalDeviceSparseImageFormatProperties = PFN_vkGetPhysicalDeviceSparseImageFormatProperties(device ? device.getProcAddr( "vkGetPhysicalDeviceSparseImageFormatProperties") : instance.getProcAddr( "vkGetPhysicalDeviceSparseImageFormatProperties"));
42472  vkGetPhysicalDeviceSparseImageFormatProperties2 = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2(device ? device.getProcAddr( "vkGetPhysicalDeviceSparseImageFormatProperties2") : instance.getProcAddr( "vkGetPhysicalDeviceSparseImageFormatProperties2"));
42473  vkGetPhysicalDeviceSparseImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceSparseImageFormatProperties2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"));
42474  vkGetPhysicalDeviceSurfaceCapabilities2EXT = PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT(device ? device.getProcAddr( "vkGetPhysicalDeviceSurfaceCapabilities2EXT") : instance.getProcAddr( "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
42475  vkGetPhysicalDeviceSurfaceCapabilities2KHR = PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceSurfaceCapabilities2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceSurfaceCapabilities2KHR"));
42476  vkGetPhysicalDeviceSurfaceCapabilitiesKHR = PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceSurfaceCapabilitiesKHR") : instance.getProcAddr( "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"));
42477  vkGetPhysicalDeviceSurfaceFormats2KHR = PFN_vkGetPhysicalDeviceSurfaceFormats2KHR(device ? device.getProcAddr( "vkGetPhysicalDeviceSurfaceFormats2KHR") : instance.getProcAddr( "vkGetPhysicalDeviceSurfaceFormats2KHR"));
42478  vkGetPhysicalDeviceSurfaceFormatsKHR = PFN_vkGetPhysicalDeviceSurfaceFormatsKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceSurfaceFormatsKHR") : instance.getProcAddr( "vkGetPhysicalDeviceSurfaceFormatsKHR"));
42479  vkGetPhysicalDeviceSurfacePresentModesKHR = PFN_vkGetPhysicalDeviceSurfacePresentModesKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceSurfacePresentModesKHR") : instance.getProcAddr( "vkGetPhysicalDeviceSurfacePresentModesKHR"));
42480  vkGetPhysicalDeviceSurfaceSupportKHR = PFN_vkGetPhysicalDeviceSurfaceSupportKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceSurfaceSupportKHR") : instance.getProcAddr( "vkGetPhysicalDeviceSurfaceSupportKHR"));
42481 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
42482  vkGetPhysicalDeviceWaylandPresentationSupportKHR = PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceWaylandPresentationSupportKHR") : instance.getProcAddr( "vkGetPhysicalDeviceWaylandPresentationSupportKHR"));
42483 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
42484 #ifdef VK_USE_PLATFORM_WIN32_KHR
42485  vkGetPhysicalDeviceWin32PresentationSupportKHR = PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceWin32PresentationSupportKHR") : instance.getProcAddr( "vkGetPhysicalDeviceWin32PresentationSupportKHR"));
42486 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42487 #ifdef VK_USE_PLATFORM_XCB_KHR
42488  vkGetPhysicalDeviceXcbPresentationSupportKHR = PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceXcbPresentationSupportKHR") : instance.getProcAddr( "vkGetPhysicalDeviceXcbPresentationSupportKHR"));
42489 #endif /*VK_USE_PLATFORM_XCB_KHR*/
42490 #ifdef VK_USE_PLATFORM_XLIB_KHR
42491  vkGetPhysicalDeviceXlibPresentationSupportKHR = PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR(device ? device.getProcAddr( "vkGetPhysicalDeviceXlibPresentationSupportKHR") : instance.getProcAddr( "vkGetPhysicalDeviceXlibPresentationSupportKHR"));
42492 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
42493  vkGetPipelineCacheData = PFN_vkGetPipelineCacheData(device ? device.getProcAddr( "vkGetPipelineCacheData") : instance.getProcAddr( "vkGetPipelineCacheData"));
42494  vkGetQueryPoolResults = PFN_vkGetQueryPoolResults(device ? device.getProcAddr( "vkGetQueryPoolResults") : instance.getProcAddr( "vkGetQueryPoolResults"));
42495 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
42496  vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT(device ? device.getProcAddr( "vkGetRandROutputDisplayEXT") : instance.getProcAddr( "vkGetRandROutputDisplayEXT"));
42497 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
42498  vkGetRefreshCycleDurationGOOGLE = PFN_vkGetRefreshCycleDurationGOOGLE(device ? device.getProcAddr( "vkGetRefreshCycleDurationGOOGLE") : instance.getProcAddr( "vkGetRefreshCycleDurationGOOGLE"));
42499  vkGetRenderAreaGranularity = PFN_vkGetRenderAreaGranularity(device ? device.getProcAddr( "vkGetRenderAreaGranularity") : instance.getProcAddr( "vkGetRenderAreaGranularity"));
42500  vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR(device ? device.getProcAddr( "vkGetSemaphoreFdKHR") : instance.getProcAddr( "vkGetSemaphoreFdKHR"));
42501 #ifdef VK_USE_PLATFORM_WIN32_KHR
42502  vkGetSemaphoreWin32HandleKHR = PFN_vkGetSemaphoreWin32HandleKHR(device ? device.getProcAddr( "vkGetSemaphoreWin32HandleKHR") : instance.getProcAddr( "vkGetSemaphoreWin32HandleKHR"));
42503 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42504  vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD(device ? device.getProcAddr( "vkGetShaderInfoAMD") : instance.getProcAddr( "vkGetShaderInfoAMD"));
42505  vkGetSwapchainCounterEXT = PFN_vkGetSwapchainCounterEXT(device ? device.getProcAddr( "vkGetSwapchainCounterEXT") : instance.getProcAddr( "vkGetSwapchainCounterEXT"));
42506  vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR(device ? device.getProcAddr( "vkGetSwapchainImagesKHR") : instance.getProcAddr( "vkGetSwapchainImagesKHR"));
42507  vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR(device ? device.getProcAddr( "vkGetSwapchainStatusKHR") : instance.getProcAddr( "vkGetSwapchainStatusKHR"));
42508  vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT(device ? device.getProcAddr( "vkGetValidationCacheDataEXT") : instance.getProcAddr( "vkGetValidationCacheDataEXT"));
42509  vkImportFenceFdKHR = PFN_vkImportFenceFdKHR(device ? device.getProcAddr( "vkImportFenceFdKHR") : instance.getProcAddr( "vkImportFenceFdKHR"));
42510 #ifdef VK_USE_PLATFORM_WIN32_KHR
42511  vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR(device ? device.getProcAddr( "vkImportFenceWin32HandleKHR") : instance.getProcAddr( "vkImportFenceWin32HandleKHR"));
42512 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42513  vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR(device ? device.getProcAddr( "vkImportSemaphoreFdKHR") : instance.getProcAddr( "vkImportSemaphoreFdKHR"));
42514 #ifdef VK_USE_PLATFORM_WIN32_KHR
42515  vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR(device ? device.getProcAddr( "vkImportSemaphoreWin32HandleKHR") : instance.getProcAddr( "vkImportSemaphoreWin32HandleKHR"));
42516 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42517  vkInvalidateMappedMemoryRanges = PFN_vkInvalidateMappedMemoryRanges(device ? device.getProcAddr( "vkInvalidateMappedMemoryRanges") : instance.getProcAddr( "vkInvalidateMappedMemoryRanges"));
42518  vkMapMemory = PFN_vkMapMemory(device ? device.getProcAddr( "vkMapMemory") : instance.getProcAddr( "vkMapMemory"));
42519  vkMergePipelineCaches = PFN_vkMergePipelineCaches(device ? device.getProcAddr( "vkMergePipelineCaches") : instance.getProcAddr( "vkMergePipelineCaches"));
42520  vkMergeValidationCachesEXT = PFN_vkMergeValidationCachesEXT(device ? device.getProcAddr( "vkMergeValidationCachesEXT") : instance.getProcAddr( "vkMergeValidationCachesEXT"));
42521  vkQueueBeginDebugUtilsLabelEXT = PFN_vkQueueBeginDebugUtilsLabelEXT(device ? device.getProcAddr( "vkQueueBeginDebugUtilsLabelEXT") : instance.getProcAddr( "vkQueueBeginDebugUtilsLabelEXT"));
42522  vkQueueBindSparse = PFN_vkQueueBindSparse(device ? device.getProcAddr( "vkQueueBindSparse") : instance.getProcAddr( "vkQueueBindSparse"));
42523  vkQueueEndDebugUtilsLabelEXT = PFN_vkQueueEndDebugUtilsLabelEXT(device ? device.getProcAddr( "vkQueueEndDebugUtilsLabelEXT") : instance.getProcAddr( "vkQueueEndDebugUtilsLabelEXT"));
42524  vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT(device ? device.getProcAddr( "vkQueueInsertDebugUtilsLabelEXT") : instance.getProcAddr( "vkQueueInsertDebugUtilsLabelEXT"));
42525  vkQueuePresentKHR = PFN_vkQueuePresentKHR(device ? device.getProcAddr( "vkQueuePresentKHR") : instance.getProcAddr( "vkQueuePresentKHR"));
42526  vkQueueSubmit = PFN_vkQueueSubmit(device ? device.getProcAddr( "vkQueueSubmit") : instance.getProcAddr( "vkQueueSubmit"));
42527  vkQueueWaitIdle = PFN_vkQueueWaitIdle(device ? device.getProcAddr( "vkQueueWaitIdle") : instance.getProcAddr( "vkQueueWaitIdle"));
42528  vkRegisterDeviceEventEXT = PFN_vkRegisterDeviceEventEXT(device ? device.getProcAddr( "vkRegisterDeviceEventEXT") : instance.getProcAddr( "vkRegisterDeviceEventEXT"));
42529  vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT(device ? device.getProcAddr( "vkRegisterDisplayEventEXT") : instance.getProcAddr( "vkRegisterDisplayEventEXT"));
42530  vkRegisterObjectsNVX = PFN_vkRegisterObjectsNVX(device ? device.getProcAddr( "vkRegisterObjectsNVX") : instance.getProcAddr( "vkRegisterObjectsNVX"));
42531  vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT(device ? device.getProcAddr( "vkReleaseDisplayEXT") : instance.getProcAddr( "vkReleaseDisplayEXT"));
42532  vkResetCommandBuffer = PFN_vkResetCommandBuffer(device ? device.getProcAddr( "vkResetCommandBuffer") : instance.getProcAddr( "vkResetCommandBuffer"));
42533  vkResetCommandPool = PFN_vkResetCommandPool(device ? device.getProcAddr( "vkResetCommandPool") : instance.getProcAddr( "vkResetCommandPool"));
42534  vkResetDescriptorPool = PFN_vkResetDescriptorPool(device ? device.getProcAddr( "vkResetDescriptorPool") : instance.getProcAddr( "vkResetDescriptorPool"));
42535  vkResetEvent = PFN_vkResetEvent(device ? device.getProcAddr( "vkResetEvent") : instance.getProcAddr( "vkResetEvent"));
42536  vkResetFences = PFN_vkResetFences(device ? device.getProcAddr( "vkResetFences") : instance.getProcAddr( "vkResetFences"));
42537  vkSetDebugUtilsObjectNameEXT = PFN_vkSetDebugUtilsObjectNameEXT(device ? device.getProcAddr( "vkSetDebugUtilsObjectNameEXT") : instance.getProcAddr( "vkSetDebugUtilsObjectNameEXT"));
42538  vkSetDebugUtilsObjectTagEXT = PFN_vkSetDebugUtilsObjectTagEXT(device ? device.getProcAddr( "vkSetDebugUtilsObjectTagEXT") : instance.getProcAddr( "vkSetDebugUtilsObjectTagEXT"));
42539  vkSetEvent = PFN_vkSetEvent(device ? device.getProcAddr( "vkSetEvent") : instance.getProcAddr( "vkSetEvent"));
42540  vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT(device ? device.getProcAddr( "vkSetHdrMetadataEXT") : instance.getProcAddr( "vkSetHdrMetadataEXT"));
42541  vkSubmitDebugUtilsMessageEXT = PFN_vkSubmitDebugUtilsMessageEXT(instance.getProcAddr( "vkSubmitDebugUtilsMessageEXT"));
42542  vkTrimCommandPool = PFN_vkTrimCommandPool(device ? device.getProcAddr( "vkTrimCommandPool") : instance.getProcAddr( "vkTrimCommandPool"));
42543  vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR(device ? device.getProcAddr( "vkTrimCommandPoolKHR") : instance.getProcAddr( "vkTrimCommandPoolKHR"));
42544  vkUnmapMemory = PFN_vkUnmapMemory(device ? device.getProcAddr( "vkUnmapMemory") : instance.getProcAddr( "vkUnmapMemory"));
42545  vkUnregisterObjectsNVX = PFN_vkUnregisterObjectsNVX(device ? device.getProcAddr( "vkUnregisterObjectsNVX") : instance.getProcAddr( "vkUnregisterObjectsNVX"));
42546  vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate(device ? device.getProcAddr( "vkUpdateDescriptorSetWithTemplate") : instance.getProcAddr( "vkUpdateDescriptorSetWithTemplate"));
42547  vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR(device ? device.getProcAddr( "vkUpdateDescriptorSetWithTemplateKHR") : instance.getProcAddr( "vkUpdateDescriptorSetWithTemplateKHR"));
42548  vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets(device ? device.getProcAddr( "vkUpdateDescriptorSets") : instance.getProcAddr( "vkUpdateDescriptorSets"));
42549  vkWaitForFences = PFN_vkWaitForFences(device ? device.getProcAddr( "vkWaitForFences") : instance.getProcAddr( "vkWaitForFences"));
42550  }
42551  };
42552 } // namespace VULKAN_HPP_NAMESPACE
42553 
42554 #endif
Extent3D minImageTransferGranularity
Definition: vulkan.hpp:17271
Definition: vulkan_core.h:518
GLsizeiptr const GLvoid GLenum usage
Definition: glext.h:6559
Definition: vulkan_core.h:6037
const void * pNext
Definition: vulkan.hpp:26991
bool operator!=(FenceCreateInfo const &rhs) const
Definition: vulkan.hpp:19200
DescriptorImageInfo & setImageLayout(ImageLayout imageLayout_)
Definition: vulkan.hpp:7173
AttachmentDescriptionFlags flags
Definition: vulkan.hpp:23023
Definition: vulkan_core.h:525
const void * pNext
Definition: vulkan.hpp:10221
PipelineDepthStencilStateCreateInfo & setDepthCompareOp(CompareOp depthCompareOp_)
Definition: vulkan.hpp:9892
bool operator!=(AcquireNextImageInfoKHR const &rhs) const
Definition: vulkan.hpp:13661
StructureType sType
Definition: vulkan.hpp:10679
SwapchainCreateInfoKHR(SwapchainCreateFlagsKHR flags_=SwapchainCreateFlagsKHR(), SurfaceKHR surface_=SurfaceKHR(), uint32_t minImageCount_=0, Format imageFormat_=Format::eUndefined, ColorSpaceKHR imageColorSpace_=ColorSpaceKHR::eSrgbNonlinear, Extent2D imageExtent_=Extent2D(), uint32_t imageArrayLayers_=0, ImageUsageFlags imageUsage_=ImageUsageFlags(), SharingMode imageSharingMode_=SharingMode::eExclusive, uint32_t queueFamilyIndexCount_=0, const uint32_t *pQueueFamilyIndices_=nullptr, SurfaceTransformFlagBitsKHR preTransform_=SurfaceTransformFlagBitsKHR::eIdentity, CompositeAlphaFlagBitsKHR compositeAlpha_=CompositeAlphaFlagBitsKHR::eOpaque, PresentModeKHR presentMode_=PresentModeKHR::eImmediate, Bool32 clipped_=0, SwapchainKHR oldSwapchain_=SwapchainKHR())
Definition: vulkan.hpp:27916
uint32_t ldsSizePerLocalWorkGroup
Definition: vulkan.hpp:7066
MemoryGetFdInfoKHR & setMemory(DeviceMemory memory_)
Definition: vulkan.hpp:25949
ImagePlaneMemoryRequirementsInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:20708
void copyBufferToImage(Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const BufferImageCopy *pRegions, Dispatch const &d=Dispatch()) const
VkResult vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties *pImageFormatProperties) const
Definition: vulkan.hpp:2019
SampleLocationsInfoEXT(SampleCountFlagBits sampleLocationsPerPixel_=SampleCountFlagBits::e1, Extent2D sampleLocationGridSize_=Extent2D(), uint32_t sampleLocationsCount_=0, const SampleLocationEXT *pSampleLocations_=nullptr)
Definition: vulkan.hpp:22532
uint32_t maxVertexInputBindings
Definition: vulkan.hpp:22261
bool operator==(CommandBufferAllocateInfo const &rhs) const
Definition: vulkan.hpp:10289
void vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures) const
Definition: vulkan.hpp:1821
PFN_vkGetPipelineCacheData vkGetPipelineCacheData
Definition: vulkan.hpp:42132
Definition: vulkan_core.h:2375
DescriptorUpdateTemplateCreateInfo & setFlags(DescriptorUpdateTemplateCreateFlags flags_)
Definition: vulkan.hpp:16786
Definition: vulkan_core.h:990
PhysicalDeviceExternalImageFormatInfo & setHandleType(ExternalMemoryHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:25440
Fence fence
Definition: vulkan.hpp:13674
void(VKAPI_PTR * PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo)
Definition: vulkan_core.h:5921
uint32_t maxDescriptorSetStorageImages
Definition: vulkan.hpp:22258
DisplayPowerInfoEXT & setPowerState(DisplayPowerStateEXT powerState_)
Definition: vulkan.hpp:27422
Result getEventStatus(Event event, Dispatch const &d=Dispatch()) const
PhysicalDeviceFeatures & setSparseResidencyAliased(Bool32 sparseResidencyAliased_)
Definition: vulkan.hpp:6130
DescriptorSetLayoutCreateInfo(VkDescriptorSetLayoutCreateInfo const &rhs)
Definition: vulkan.hpp:25309
void getExternalFencePropertiesKHR(const PhysicalDeviceExternalFenceInfo *pExternalFenceInfo, ExternalFenceProperties *pExternalFenceProperties, Dispatch const &d=Dispatch()) const
uint32_t mapEntryCount
Definition: vulkan.hpp:5606
uint32_t queueFamilyIndex
Definition: vulkan.hpp:17598
bool operator==(DeviceQueueInfo2 const &rhs) const
Definition: vulkan.hpp:17578
const void * pNext
Definition: vulkan.hpp:27694
VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties)
MappedMemoryRange & setSize(DeviceSize size_)
Definition: vulkan.hpp:8878
PipelineCacheHeaderVersion
Definition: vulkan.hpp:7554
void bindIndexBuffer(Buffer buffer, DeviceSize offset, IndexType indexType, Dispatch const &d=Dispatch()) const
uint32_t driverVersion
Definition: vulkan.hpp:22366
bool operator!=(DeviceGroupBindSparseInfo const &rhs) const
Definition: vulkan.hpp:13452
PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback
Definition: vulkan.hpp:29358
bool operator==(MappedMemoryRange const &rhs) const
Definition: vulkan.hpp:8889
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
uint32_t z
Definition: vulkan.hpp:6507
BufferUsageFlags usage
Definition: vulkan.hpp:25542
VkResult(VKAPI_PTR * PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence *pFences)
Definition: vulkan_core.h:2758
PipelineShaderStageCreateInfo & setStage(ShaderStageFlagBits stage_)
Definition: vulkan.hpp:18284
bool operator==(PhysicalDevice16BitStorageFeatures const &rhs) const
Definition: vulkan.hpp:14259
Definition: vulkan_core.h:1176
PipelineDynamicStateCreateInfo(VkPipelineDynamicStateCreateInfo const &rhs)
Definition: vulkan.hpp:16685
VkPipeline m_pipeline
Definition: vulkan.hpp:3203
VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks *pAllocator)
VULKAN_HPP_CONSTEXPR ValidationCacheEXT(std::nullptr_t)
Definition: vulkan.hpp:4291
Definition: vulkan_core.h:1083
PipelineCoverageToColorStateCreateInfoNV & setCoverageToColorEnable(Bool32 coverageToColorEnable_)
Definition: vulkan.hpp:14955
AttachmentLoadOp loadOp
Definition: vulkan.hpp:23026
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugReportCallbackEXT *pCallback)
ImageCreateFlagBits
Definition: vulkan.hpp:18643
Definition: vulkan_core.h:4303
PhysicalDeviceFeatures & setRobustBufferAccess(Bool32 robustBufferAccess_)
Definition: vulkan.hpp:5818
ImageSubresourceRange(VkImageSubresourceRange const &rhs)
Definition: vulkan.hpp:19861
void(VKAPI_PTR * PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:5816
PipelineDepthStencilStateCreateInfo & setFlags(PipelineDepthStencilStateCreateFlags flags_)
Definition: vulkan.hpp:9874
void updateDescriptorSets(uint32_t descriptorWriteCount, const WriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const CopyDescriptorSet *pDescriptorCopies, Dispatch const &d=Dispatch()) const
void copyQueryPoolResults(QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Buffer dstBuffer, DeviceSize dstOffset, DeviceSize stride, QueryResultFlags flags, Dispatch const &d=Dispatch()) const
bool operator!=(DescriptorBufferInfo const &rhs) const
Definition: vulkan.hpp:5384
bool operator==(DeviceGroupCommandBufferBeginInfo const &rhs) const
Definition: vulkan.hpp:13278
void(VKAPI_PTR * PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
Definition: vulkan_core.h:5117
void destroyDebugReportCallbackEXT(DebugReportCallbackEXT callback, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:4124
VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence)
BufferCopy & setSrcOffset(DeviceSize srcOffset_)
Definition: vulkan.hpp:5443
void vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData) const
Definition: vulkan.hpp:2337
VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(VkQueue queue)
void getExternalSemaphorePropertiesKHR(const PhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo, ExternalSemaphoreProperties *pExternalSemaphoreProperties, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:13073
DescriptorUpdateTemplateEntry & setDstBinding(uint32_t dstBinding_)
Definition: vulkan.hpp:7464
Definition: vulkan_core.h:1087
Definition: vulkan_core.h:3952
DisplaySurfaceCreateInfoKHR & setImageExtent(Extent2D imageExtent_)
Definition: vulkan.hpp:23606
PFN_vkCmdDrawIndexed vkCmdDrawIndexed
Definition: vulkan.hpp:41878
VkResult vkQueueWaitIdle(VkQueue queue) const
Definition: vulkan.hpp:2257
PipelineSampleLocationsStateCreateInfoEXT(VkPipelineSampleLocationsStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:22804
Definition: vulkan_core.h:351
Definition: vulkan_core.h:781
DescriptorUpdateTemplateEntry(VkDescriptorUpdateTemplateEntry const &rhs)
Definition: vulkan.hpp:7454
VertexInputAttributeDescription & setLocation(uint32_t location_)
Definition: vulkan.hpp:8242
VkResult vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes) const
Definition: vulkan.hpp:2113
void(VKAPI_PTR * PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo)
Definition: vulkan_core.h:6904
Definition: vulkan.hpp:14459
Definition: vulkan_core.h:2605
PipelineLayout & operator=(std::nullptr_t)
Definition: vulkan.hpp:3231
void vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements) const
Definition: vulkan.hpp:1801
ResultValueType< void >::type bindBufferMemory(Buffer buffer, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const &d=Dispatch()) const
DebugMarkerObjectNameInfoEXT & operator=(VkDebugMarkerObjectNameInfoEXT const &rhs)
Definition: vulkan.hpp:23877
Definition: vulkan_core.h:868
void vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites) const
Definition: vulkan.hpp:1309
PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2
Definition: vulkan.hpp:42105
ChromaLocation xChromaOffset
Definition: vulkan.hpp:28910
uint32_t stencil
Definition: vulkan.hpp:5705
SampleLocationEXT & operator=(VkSampleLocationEXT const &rhs)
Definition: vulkan.hpp:7005
VkIndexType
Definition: vulkan_core.h:1150
const void * pNext
Definition: vulkan.hpp:37415
QueryType
Definition: vulkan.hpp:7531
PhysicalDeviceFeatures & setSparseResidency2Samples(Bool32 sparseResidency2Samples_)
Definition: vulkan.hpp:6106
Bool32 shaderStorageBufferArrayNonUniformIndexingNative
Definition: vulkan.hpp:16087
size_t size
Definition: libretro.h:2287
VkResult vkGetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void *pHostPointer, VkMemoryHostPointerPropertiesEXT *pMemoryHostPointerProperties) const
Definition: vulkan.hpp:1929
PhysicalDeviceProperties properties
Definition: vulkan.hpp:22401
GLsizei samples
Definition: glext.h:7673
Definition: vulkan_core.h:7028
GLuint divisor
Definition: glext.h:6953
Result getDisplayPropertiesKHR(uint32_t *pPropertyCount, DisplayPropertiesKHR *pProperties, Dispatch const &d=Dispatch()) const
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
void vkDestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1639
Definition: vulkan_core.h:878
Definition: vulkan_core.h:199
uint32_t maxSequencesCount
Definition: vulkan.hpp:11898
Bool32 storagePushConstant16
Definition: vulkan.hpp:14281
Definition: vulkan_core.h:1143
PhysicalDeviceFeatures & setShaderStorageBufferArrayDynamicIndexing(Bool32 shaderStorageBufferArrayDynamicIndexing_)
Definition: vulkan.hpp:6028
const T & back() const
Definition: vulkan.hpp:316
VkResult(VKAPI_PTR * PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR *pImportFenceFdInfo)
Definition: vulkan_core.h:5494
SubpassDependency & setDstSubpass(uint32_t dstSubpass_)
Definition: vulkan.hpp:23228
BufferMemoryRequirementsInfo2 & operator=(VkBufferMemoryRequirementsInfo2 const &rhs)
Definition: vulkan.hpp:14300
VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo)
bool operator!() const
Definition: vulkan.hpp:4271
CompositeAlphaFlagsKHR supportedCompositeAlpha
Definition: vulkan.hpp:27331
Definition: vulkan_core.h:6523
void vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t *pPropertyCount, VkSparseImageFormatProperties *pProperties) const
Definition: vulkan.hpp:2081
PhysicalDeviceFeatures & setVariableMultisampleRate(Bool32 variableMultisampleRate_)
Definition: vulkan.hpp:6136
MemoryHostPointerPropertiesEXT & operator=(VkMemoryHostPointerPropertiesEXT const &rhs)
Definition: vulkan.hpp:15533
const PresentRegionKHR * pRegions
Definition: vulkan.hpp:12074
Definition: vulkan_core.h:6102
bool operator==(ImageCopy const &rhs) const
Definition: vulkan.hpp:20202
VULKAN_HPP_TYPESAFE_EXPLICIT Queue(VkQueue queue)
Definition: vulkan.hpp:31068
const GLuint * buffers
Definition: glext.h:6556
WriteDescriptorSet & setDstBinding(uint32_t dstBinding_)
Definition: vulkan.hpp:8950
Offset3D & setX(int32_t x_)
Definition: vulkan.hpp:4823
PFN_vkCmdBlitImage vkCmdBlitImage
Definition: vulkan.hpp:41861
PipelineLayoutCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:18423
PointClippingBehavior pointClippingBehavior
Definition: vulkan.hpp:28636
Definition: vulkan_core.h:6022
uint32_t computeUnitsPerShaderArray
Definition: vulkan.hpp:15797
VkResult(VKAPI_PTR * PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImageView *pView)
Definition: vulkan_core.h:2778
const void * pNext
Definition: vulkan.hpp:11437
BindImageMemoryDeviceGroupInfo & setDeviceIndexCount(uint32_t deviceIndexCount_)
Definition: vulkan.hpp:13111
ValidationFlagsEXT & setPDisabledValidationChecks(ValidationCheckEXT *pDisabledValidationChecks_)
Definition: vulkan.hpp:24382
Definition: vulkan_core.h:4948
ProtectedSubmitInfo & setProtectedSubmit(Bool32 protectedSubmit_)
Definition: vulkan.hpp:14782
VertexInputBindingDescription(VkVertexInputBindingDescription const &rhs)
Definition: vulkan.hpp:7906
AttachmentDescription(AttachmentDescriptionFlags flags_=AttachmentDescriptionFlags(), Format format_=Format::eUndefined, SampleCountFlagBits samples_=SampleCountFlagBits::e1, AttachmentLoadOp loadOp_=AttachmentLoadOp::eLoad, AttachmentStoreOp storeOp_=AttachmentStoreOp::eStore, AttachmentLoadOp stencilLoadOp_=AttachmentLoadOp::eLoad, AttachmentStoreOp stencilStoreOp_=AttachmentStoreOp::eStore, ImageLayout initialLayout_=ImageLayout::eUndefined, ImageLayout finalLayout_=ImageLayout::eUndefined)
Definition: vulkan.hpp:22923
Definition: vulkan_core.h:1219
ImageCreateFlags flags
Definition: vulkan.hpp:18773
bool operator==(Sampler const &rhs) const
Definition: vulkan.hpp:3304
const Format * pViewFormats
Definition: vulkan.hpp:15208
bool operator==(ObjectTableEntryNVX const &rhs) const
Definition: vulkan.hpp:24931
Definition: vulkan_core.h:668
CopyDescriptorSet & setDstArrayElement(uint32_t dstArrayElement_)
Definition: vulkan.hpp:9091
Definition: vulkan.hpp:12014
SystemError(int ev, std::error_category const &ecat, std::string const &what)
Definition: vulkan.hpp:655
CommandBufferInheritanceInfo & setQueryFlags(QueryControlFlags queryFlags_)
Definition: vulkan.hpp:19493
VkResult(VKAPI_PTR * PFN_vkEnumerateInstanceExtensionProperties)(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)
Definition: vulkan_core.h:2734
Result acquireNextImage2KHR(const AcquireNextImageInfoKHR *pAcquireInfo, uint32_t *pImageIndex, Dispatch const &d=Dispatch()) const
ImageSwapchainCreateInfoKHR(VkImageSwapchainCreateInfoKHR const &rhs)
Definition: vulkan.hpp:13476
int32_t int32[4]
Definition: vulkan.hpp:5654
Definition: vulkan_core.h:1202
void setViewport(uint32_t firstViewport, uint32_t viewportCount, const Viewport *pViewports, Dispatch const &d=Dispatch()) const
float timestampPeriod
Definition: vulkan.hpp:22323
uint32_t signalSemaphoreCount
Definition: vulkan.hpp:21390
void setStencilWriteMask(StencilFaceFlags faceMask, uint32_t writeMask, Dispatch const &d=Dispatch()) const
PrimitiveTopology topology
Definition: vulkan.hpp:9537
CmdProcessCommandsInfoNVX(ObjectTableNVX objectTable_=ObjectTableNVX(), IndirectCommandsLayoutNVX indirectCommandsLayout_=IndirectCommandsLayoutNVX(), uint32_t indirectCommandsTokenCount_=0, const IndirectCommandsTokenNVX *pIndirectCommandsTokens_=nullptr, uint32_t maxSequencesCount_=0, CommandBuffer targetCommandBuffer_=CommandBuffer(), Buffer sequencesCountBuffer_=Buffer(), DeviceSize sequencesCountOffset_=0, Buffer sequencesIndexBuffer_=Buffer(), DeviceSize sequencesIndexOffset_=0)
Definition: vulkan.hpp:37295
AcquireNextImageInfoKHR & setFence(Fence fence_)
Definition: vulkan.hpp:13633
void(VKAPI_PTR * PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource *pSubresource, VkSubresourceLayout *pLayout)
Definition: vulkan_core.h:2777
void destroyBuffer(Buffer buffer, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Flags< BufferCreateFlagBits, VkBufferCreateFlags > BufferCreateFlags
Definition: vulkan.hpp:18021
bool operator!=(PipelineTessellationStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9591
Compilador desconhecido Dispositivo desconectado da porta Este arquivo já existe Salvando no buffer de backup Conexão recebida Endereço público Definindo disco na bandeja Você deixou o jogo Você se juntou ao dispositivo de entrada *s *s se juntou como jogador u Uma tentativa de conexão de jogo em rede falhou porque o par não está executando o RetroArch ou está executando uma versão antiga do RetroArch use a mesma versão use a mesma versão Este núcleo não suporta jogo em rede entre diferentes sistemas Senha incorreta Um cliente de jogo em rede desconectou Você não tem permissão para jogar Os dispositivos de entrada solicitados não estão disponíveis Par do jogo em rede s pausou Dar aos núcleos renderizados por hardware seu próprio contexto privado Evita ter que assumir mudanças de estado de hardware entre quadros Ajusta as configurações de aparência da tela de menu Melhora o desempenho ao custo de latência e mais engasgamento de vídeo Use somente se você não puder obter velocidade total de outra forma Detectar automaticamente Capacidades Conectando a porta não Senha Nome de usuário Ponto Final da Lista de Contas Lista de Conquistas Contiuar Conquistas no Modo Hardcore Analisar Conteúdo Importar conteúdo Perguntar Bloquear Quadros Driver de Áudio Habilitar Áudio Turbo Zona Morta Desvio Máximo de Tempo do Áudio Taxa da Saída de Controle Dinâmico da Taxa de Áudio Áudio Nível de Volume de WASAPI Modo Exclusivo WASAPI Tamanho do Buffer Compartilhado Carrega Automaticamente Arquivos de Redefinição Carrega Automaticamente Predefinições de Shader Confirmar Sair Rolar para Cima Alternar Teclado Controles Básicos de Menu Informação Rolar para Cima Alternar Teclado Não sobregravar a SRAM ao carregar Estado de Jogo URL de Recursos do Buildbot Permitir Câmera Trapaça Iniciar Pesquisa Por um Novo Código de Trapaça Arquivo de Trapaça Carregar Arquivo de Trapaça Salvar Arquivo de Trapaça Como Descrição Tabelas de Classificação Conquistas Bloqueada Testar Conquistas Não Oficiais Desbloqueada Modo Detalhado das Conquistas Fechar Conteúdo Carregar Configuração Salvar Configuração ao Sair Base de Dados Tamanho da Lista de Histórico Menu Rápido Downloads Contadores do Núcleo Informação do Núcleo Categorias Nome do núcleo Permissões Fabricante do sistema Controles Opções Iniciar um Núcleo Automaticamente URL de Núcleos do Buildbot Atualizador Cores da Cursor Proporção Personalizada Seleção de Base de Dados Diretório Inicial< Padrão > Diretório não encontrado Condição da Bandeja do Ciclo de Disco Índice de Disco Não importa Baixar Núcleo Habilitar Redefinição de DPI Driver Verificar por Firmware que Falta Antes de Carregar Planos de Fundo Dinâmicos Cor do item de menu ao passar o cursor Falso Favoritos Controlar Velocidade Máxima de Execução Controle de Quadros Carrega Automaticamente Opções de Núcleo Específicas do Conteúdo Salvar arquivo de opções do jogo Solução de Problemas de Áudio Vídeo Controles Básicos de Menu Carregando Conteúdo O Que é um Núcleo Histórico Imagem Informação Todos os Usuários Controlam o Menu Analógico Esquerdo Analógico Esquerdo Analógico Esquerdo Y Analógico Esquerdo Analógico Direito X Analógico Direito Analógico Direito Y Analógico Direito Gatinho da Pistola Aux A da Pistola Aux C da Pistola Select da Pistola D pad Baixo da Pistola D pad Direito da Pistola Zona Morta do Controle Analógico Vincular Todos Tempo Limite para Vincular Ocultar Descritores de Entrada do Núcleo Não Vinculados Índice de Dispositivo Índice de Mouse Ciclo de Trabalho Habilitar Mapeamento de Gamepad no Teclado Botão Direcional para baixo Botão Botão Direcional Esquerdo Botão Botão Direcional Direito Botão Start Botão Botão Mouse Mouse Mouse Roda do Mouse para Baixo Roda do Mouse para Direita Usuários Máximos Índice de Trapaça Alternar Trapaça Próximo disco Habilitar teclas de atalho Alternar Avanço Rápido Alternar tela cheia Alternar foco do jogo Carregar Estado de Jogo Alternar gravação de filme Alternar modo jogador espectador do jogo em rede Próxima Transparência Sair do RetroArch Rebobinar Iniciar ou Continuar a Pesquisa de Trapaça Capturar tela Shader anterior Alternar câmera lenta Compartimento do Estado de Jogo Volume Ocultar Transparência no Menu Porta de Escuta do Exibir Comandos Mais cedo Normal Remapeamento de Entrada Salvar Auto Configuração Habilitar Teclado Pequeno Habilitar Turbo Vínculos de Entrada do Usuário u Condição do armazenamento interno Driver de Joypad Holandês Esperanto Alemão Japonês Polonês Russo Vietnamita Grego Núcleo Nível de Registro de Eventos do Núcleo Carregar Arquivo Carregar Conteúdo Permitir Localização Registro de Eventos Menu Principal Tema de Cor do Menu Cinza Azulado Verde Vermelho Opacidade do Rodapé Driver de Menu Configurações Animação Horizontal Plano de Fundo Faltando Suporte para Mouse Música Navegação Retorna ao Início Jogo em Rede Verificar Quadros do Jogo em Rede Faixa de Quadros de Latência de Entrada Desconectar do hospedeiro de jogo em rede Conectar ao hospedeiro de jogo em rede Parar hospedeiro de jogo em rede Analisar a rede local Usuário Anunciar Jogo em Rede Publicamente Não Permitir Clientes em Modo Não Escravo Compartilhamento de Entrada Analógica Médio Compartilhar Eleger Sem preferência Modo sem Estados de Jogo do Jogo em Rede Habilitar Espectador do Jogo em Rede Travessia de NAT do Jogo em Rede Porta de Comando de Rede Gamepad de Rede Rede Nenhum Não há Conquistas para mostrar Nenhum núcleo disponível Não há opções de núcleo disponíveis Não há histórico disponível Sem itens Nenhuma rede encontrada Não há listas de reprodução Nenhuma configuração encontrada DESLIGADO Online Exibição na Tela Opções de controles de Notificações na Tela ou Molduras Ajusta as Notificações na Tela Opcional Carrega Automaticamente Transparência Favorita Opacidade da Transparência Escala da Transparência Utilizar Modo PAL60 Pausar quando o menu for ativado Contadores de Desempenho Lista de Reprodução Suporte para Toque Presente MIDI Analógico suportado Classificação CERO CRC32 Desenvolvedor Classificação da Revista Edge Classificação ELSPA Classificação ESRB Franquia MD5 Origem Editor Ano de Lançamento Número de Série Iniciar Conteúdo Reiniciar Saída de Gravação Carregar Configuração de Gravação Driver de Gravação Habilitar Gravação Salvar Gravações no Diretório de Saída Carregar Arquivo de Remapeamento Salvar Remapeamento de Controle para o Diretório de Conteúdo Excluir Arquivo de Remapeamento de Núcleo Excluir Arquivo de Remapeamento de Jogo do Diretório de Conteúdo Reiniciar Continuar RetroKeyboard RetroPad com Analógico Habilitar Rebobinagem Aplicar Automaticamente Trapaças Durante o Carregamento do Jogo Tamanho do Buffer da Tamanho do Intervalo de Ajuste do Buffer(MB)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_REWIND_SETTINGS
bool operator!=(SwapchainKHR const &rhs) const
Definition: vulkan.hpp:4586
VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR
Definition: vulkan.hpp:42038
StructureType sType
Definition: vulkan.hpp:8665
CullModeFlagBits
Definition: vulkan.hpp:7628
DrawIndirectCommand & setInstanceCount(uint32_t instanceCount_)
Definition: vulkan.hpp:6330
Result createPipelineCache(const PipelineCacheCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, PipelineCache *pPipelineCache, Dispatch const &d=Dispatch()) const
PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationTableEnable(Bool32 coverageModulationTableEnable_)
Definition: vulkan.hpp:29090
BufferCreateInfo(VkBufferCreateInfo const &rhs)
Definition: vulkan.hpp:18053
ResultValueType< void >::type end(Dispatch const &d=Dispatch()) const
VkResult vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties) const
Definition: vulkan.hpp:2027
PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR
Definition: vulkan.hpp:41958
void getSparseImageFormatProperties(Format format, ImageType type, SampleCountFlagBits samples, ImageUsageFlags usage, ImageTiling tiling, uint32_t *pPropertyCount, SparseImageFormatProperties *pProperties, Dispatch const &d=Dispatch()) const
ImageSubresource subresource
Definition: vulkan.hpp:21070
bool operator==(ImageFormatProperties const &rhs) const
Definition: vulkan.hpp:21616
const void * pNext
Definition: vulkan.hpp:14452
Definition: vulkan_core.h:1441
Filter minFilter
Definition: vulkan.hpp:10224
VkResult vkCreateValidationCacheEXT(VkDevice device, const VkValidationCacheCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkValidationCacheEXT *pValidationCache) const
Definition: vulkan.hpp:1565
DeviceGroupPresentInfoKHR(VkDeviceGroupPresentInfoKHR const &rhs)
Definition: vulkan.hpp:27769
void vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1635
ExportSemaphoreCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:26282
PFN_vkDestroyShaderModule vkDestroyShaderModule
Definition: vulkan.hpp:42009
ExportMemoryAllocateInfoNV & operator=(VkExportMemoryAllocateInfoNV const &rhs)
Definition: vulkan.hpp:24183
bool operator==(PhysicalDeviceLimits const &rhs) const
Definition: vulkan.hpp:22116
const void * pNext
Definition: vulkan.hpp:24883
Definition: vulkan_core.h:500
PFN_vkQueueWaitIdle vkQueueWaitIdle
Definition: vulkan.hpp:42166
bool operator==(BindImagePlaneMemoryInfo const &rhs) const
Definition: vulkan.hpp:20668
bool operator==(SparseImageMemoryRequirements2 const &rhs) const
Definition: vulkan.hpp:20866
ClearDepthStencilValue & operator=(VkClearDepthStencilValue const &rhs)
Definition: vulkan.hpp:5671
void debugReportMessageEXT(DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char *pLayerPrefix, const char *pMessage, Dispatch const &d=Dispatch()) const
PhysicalDeviceDiscardRectanglePropertiesEXT(uint32_t maxDiscardRectangles_=0)
Definition: vulkan.hpp:14068
SharingMode sharingMode
Definition: vulkan.hpp:21794
uint32_t maxTessellationControlPerPatchOutputComponents
Definition: vulkan.hpp:22269
VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(VkDevice device, VkEvent event)
DeviceGroupSwapchainCreateInfoKHR & setModes(DeviceGroupPresentModeFlagsKHR modes_)
Definition: vulkan.hpp:27856
bool operator!=(PipelineRasterizationConservativeStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29427
GLuint const GLchar * name
Definition: glext.h:6671
PastPresentationTimingGOOGLE & operator=(VkPastPresentationTimingGOOGLE const &rhs)
Definition: vulkan.hpp:6828
Offset3D srcOffset
Definition: vulkan.hpp:20451
void vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes) const
Definition: vulkan.hpp:1837
bool operator==(BufferViewCreateInfo const &rhs) const
Definition: vulkan.hpp:9203
DebugMarkerObjectTagInfoEXT & setTagSize(size_t tagSize_)
Definition: vulkan.hpp:23981
VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy *pRegions)
VkBool32(VKAPI_PTR * PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display *dpy, VisualID visualID)
Definition: vulkan_xlib.h:46
StructureType sType
Definition: vulkan.hpp:26504
StructureType sType
Definition: vulkan.hpp:12168
Flags< PipelineViewportStateCreateFlagBits, VkPipelineViewportStateCreateFlags > PipelineViewportStateCreateFlags
Definition: vulkan.hpp:2426
bool operator!=(RenderPassBeginInfo const &rhs) const
Definition: vulkan.hpp:10387
Result enumerateInstanceLayerProperties(uint32_t *pPropertyCount, LayerProperties *pProperties, Dispatch const &d=Dispatch())
Definition: vulkan.hpp:29566
const SpecializationInfo * pSpecializationInfo
Definition: vulkan.hpp:18338
PipelineTessellationDomainOriginStateCreateInfo & setDomainOrigin(TessellationDomainOrigin domainOrigin_)
Definition: vulkan.hpp:28735
IndexType
Definition: vulkan.hpp:7580
Result getDisplayPlaneSupportedDisplaysKHR(uint32_t planeIndex, uint32_t *pDisplayCount, DisplayKHR *pDisplays, Dispatch const &d=Dispatch()) const
RenderPassCreateInfo & setSubpassCount(uint32_t subpassCount_)
Definition: vulkan.hpp:28542
ImageLayout oldLayout
Definition: vulkan.hpp:20037
InstanceCreateInfo & setFlags(InstanceCreateFlags flags_)
Definition: vulkan.hpp:8705
uint64_t desiredPresentTime
Definition: vulkan.hpp:6937
VkResult vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineLayout *pPipelineLayout) const
Definition: vulkan.hpp:1525
SparseImageFormatProperties properties
Definition: vulkan.hpp:20853
Definition: vulkan_core.h:1116
VULKAN_HPP_CONSTEXPR DeviceMemory()
Definition: vulkan.hpp:2675
FramebufferCreateInfo & setFlags(FramebufferCreateFlags flags_)
Definition: vulkan.hpp:10544
GraphicsPipelineCreateInfo & setLayout(PipelineLayout layout_)
Definition: vulkan.hpp:22021
Definition: vulkan_core.h:1294
void(VKAPI_PTR * PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2788
ImportSemaphoreFdInfoKHR(VkImportSemaphoreFdInfoKHR const &rhs)
Definition: vulkan.hpp:26647
Offset3D imageOffset
Definition: vulkan.hpp:20375
bool operator==(PresentRegionKHR const &rhs) const
Definition: vulkan.hpp:6703
Buffer buffer
Definition: vulkan.hpp:5389
VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks *pAllocator)
Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind
Definition: vulkan.hpp:16029
GraphicsPipelineCreateInfo & operator=(VkGraphicsPipelineCreateInfo const &rhs)
Definition: vulkan.hpp:21938
uint32_t waitSemaphoreCount
Definition: vulkan.hpp:16651
VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies)
Definition: vulkan_core.h:849
ApplicationInfo(VkApplicationInfo const &rhs)
Definition: vulkan.hpp:8597
Definition: vulkan_core.h:4586
bool operator!() const
Definition: vulkan.hpp:4541
bool operator!=(HdrMetadataEXT const &rhs) const
Definition: vulkan.hpp:13776
VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(VkDevice device, VkEvent event)
void * pUserData
Definition: vulkan.hpp:5301
void vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties) const
Definition: vulkan.hpp:2007
ObjectTablePushConstantEntryNVX & operator=(VkObjectTablePushConstantEntryNVX const &rhs)
Definition: vulkan.hpp:25220
RenderPassMultiviewCreateInfo & operator=(VkRenderPassMultiviewCreateInfo const &rhs)
Definition: vulkan.hpp:12784
Definition: vulkan_core.h:201
DeviceQueueCreateInfo & setFlags(DeviceQueueCreateFlags flags_)
Definition: vulkan.hpp:17356
VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences, VkBool32 waitAll, uint64_t timeout)
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX *pFeatures, VkDeviceGeneratedCommandsLimitsNVX *pLimits)
Definition: vulkan_core.h:800
bool operator<(DescriptorUpdateTemplate const &rhs) const
Definition: vulkan.hpp:4185
const GLvoid * ptr
Definition: nx_glsym.h:242
ResultValueType< UniqueQueryPool >::type createQueryPoolUnique(const QueryPoolCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
void endQuery(QueryPool queryPool, uint32_t query, Dispatch const &d=Dispatch()) const
SubpassDescription & setPColorAttachments(const AttachmentReference *pColorAttachments_)
Definition: vulkan.hpp:28428
Definition: vulkan.hpp:22109
Buffer buffer
Definition: vulkan.hpp:17974
bool operator!=(ShaderModuleCreateInfo const &rhs) const
Definition: vulkan.hpp:9289
const void * pNext
Definition: vulkan.hpp:25919
bool operator==(HdrMetadataEXT const &rhs) const
Definition: vulkan.hpp:13762
uint32_t arrayLayer
Definition: vulkan.hpp:19777
StructureType sType
Definition: vulkan.hpp:23811
PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR
Definition: vulkan.hpp:42088
GLenum GLuint GLint GLint layer
Definition: glext.h:7674
void vkDestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1643
MemoryBarrier & setPNext(const void *pNext_)
Definition: vulkan.hpp:17825
SamplerReductionModeEXT
Definition: vulkan.hpp:28642
Result createCommandPool(const CommandPoolCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, CommandPool *pCommandPool, Dispatch const &d=Dispatch()) const
ObjectTablePushConstantEntryNVX & setPipelineLayout(PipelineLayout pipelineLayout_)
Definition: vulkan.hpp:25237
DescriptorSetLayoutBindingFlagsCreateInfoEXT(VkDescriptorSetLayoutBindingFlagsCreateInfoEXT const &rhs)
Definition: vulkan.hpp:29479
SubpassDescription & setPDepthStencilAttachment(const AttachmentReference *pDepthStencilAttachment_)
Definition: vulkan.hpp:28440
SwapchainKHR oldSwapchain
Definition: vulkan.hpp:28100
VertexInputAttributeDescription & operator=(VkVertexInputAttributeDescription const &rhs)
Definition: vulkan.hpp:8237
StructureType sType
Definition: vulkan.hpp:20031
bool operator!=(PipelineColorBlendStateCreateInfo const &rhs) const
Definition: vulkan.hpp:19115
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties *pMemoryProperties)
ChromaLocation
Definition: vulkan.hpp:28791
void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo, VkExternalSemaphoreProperties *pExternalSemaphoreProperties) const
Definition: vulkan.hpp:1987
FenceImportFlagBits
Definition: vulkan.hpp:27061
PhysicalDeviceExternalFenceInfo & operator=(VkPhysicalDeviceExternalFenceInfo const &rhs)
Definition: vulkan.hpp:26765
DeviceQueueCreateInfo & setPQueuePriorities(const float *pQueuePriorities_)
Definition: vulkan.hpp:17374
uint32_t maxTessellationControlPerVertexInputComponents
Definition: vulkan.hpp:22267
const void * pNext
Definition: vulkan.hpp:17404
bool operator!=(PhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15736
DisplayModeParametersKHR & setVisibleRegion(Extent2D visibleRegion_)
Definition: vulkan.hpp:6552
Definition: vulkan_core.h:804
int fd
Definition: vulkan.hpp:25921
bool operator==(InstanceCreateInfo const &rhs) const
Definition: vulkan.hpp:8746
Definition: vulkan_core.h:982
ApplicationInfo & setApiVersion(uint32_t apiVersion_)
Definition: vulkan.hpp:8637
PipelineViewportWScalingStateCreateInfoNV & setPViewportWScalings(const ViewportWScalingNV *pViewportWScalings_)
Definition: vulkan.hpp:14030
PhysicalDeviceFeatures & setShaderStorageImageExtendedFormats(Bool32 shaderStorageImageExtendedFormats_)
Definition: vulkan.hpp:5992
void destroySampler(Sampler sampler, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
DebugReportCallbackCreateInfoEXT & setPUserData(void *pUserData_)
Definition: vulkan.hpp:23785
Definition: vulkan_core.h:499
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
ResultValueType< void >::type waitIdle(Dispatch const &d=Dispatch()) const
const IndirectCommandsLayoutTokenNVX * pTokens
Definition: vulkan.hpp:24756
ProtectedSubmitInfo & operator=(VkProtectedSubmitInfo const &rhs)
Definition: vulkan.hpp:14771
void vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const
Definition: vulkan.hpp:1173
void getProperties2KHR(PhysicalDeviceProperties2 *pProperties, Dispatch const &d=Dispatch()) const
DeviceQueueCreateInfo & setQueueCount(uint32_t queueCount_)
Definition: vulkan.hpp:17368
GraphicsPipelineCreateInfo & setPDepthStencilState(const PipelineDepthStencilStateCreateInfo *pDepthStencilState_)
Definition: vulkan.hpp:22003
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkSurfaceCapabilities2KHR *pSurfaceCapabilities)
bool operator==(SamplerYcbcrConversionCreateInfo const &rhs) const
Definition: vulkan.hpp:28882
SurfaceTransformFlagsKHR supportedTransforms
Definition: vulkan.hpp:23684
ImageViewCreateInfo & setFormat(Format format_)
Definition: vulkan.hpp:20092
bool operator!=(PhysicalDeviceMultiviewProperties const &rhs) const
Definition: vulkan.hpp:12750
PipelineColorBlendAttachmentState & setSrcColorBlendFactor(BlendFactor srcColorBlendFactor_)
Definition: vulkan.hpp:18959
FramebufferCreateInfo & setAttachmentCount(uint32_t attachmentCount_)
Definition: vulkan.hpp:10556
Result allocateMemory(const MemoryAllocateInfo *pAllocateInfo, const AllocationCallbacks *pAllocator, DeviceMemory *pMemory, Dispatch const &d=Dispatch()) const
~UniqueHandle()
Definition: vulkan.hpp:365
BufferMemoryBarrier & setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_)
Definition: vulkan.hpp:17912
Definition: vulkan_core.h:200
SubpassDependency(uint32_t srcSubpass_=0, uint32_t dstSubpass_=0, PipelineStageFlags srcStageMask_=PipelineStageFlags(), PipelineStageFlags dstStageMask_=PipelineStageFlags(), AccessFlags srcAccessMask_=AccessFlags(), AccessFlags dstAccessMask_=AccessFlags(), DependencyFlags dependencyFlags_=DependencyFlags())
Definition: vulkan.hpp:23201
GLbitfield GLuint64 timeout
Definition: glext.h:7831
SurfaceTransformFlagBitsKHR currentTransform
Definition: vulkan.hpp:23685
ImageTiling tiling
Definition: vulkan.hpp:21792
VkResult vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets) const
Definition: vulkan.hpp:1117
VULKAN_HPP_INLINE void throwResultException(Result result, char const *message)
Definition: vulkan.hpp:845
Definition: vulkan_core.h:1160
Definition: vulkan_core.h:1325
Flags< SampleCountFlagBits, VkSampleCountFlags > SampleCountFlags
Definition: vulkan.hpp:21589
Definition: vulkan_core.h:287
Bool32 tessellationShader
Definition: vulkan.hpp:6222
PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout
Definition: vulkan.hpp:42002
uint32_t descriptorCount
Definition: vulkan.hpp:9137
Definition: vulkan_core.h:617
const char *const * ppEnabledLayerNames
Definition: vulkan.hpp:8771
PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR
Definition: vulkan.hpp:42182
bool operator==(ShaderResourceUsageAMD const &rhs) const
Definition: vulkan.hpp:7050
void(VKAPI_PTR * PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:5392
DeviceSize maxResourceSize
Definition: vulkan.hpp:21634
bool operator!=(PhysicalDeviceShaderCorePropertiesAMD const &rhs) const
Definition: vulkan.hpp:15785
uint32_t maxClipDistances
Definition: vulkan.hpp:22324
ImageViewCreateInfo & setViewType(ImageViewType viewType_)
Definition: vulkan.hpp:20086
void destroyObjectTableNVX(ObjectTableNVX objectTable, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:563
WriteDescriptorSet & setPImageInfo(const DescriptorImageInfo *pImageInfo_)
Definition: vulkan.hpp:8974
PipelineColorBlendAttachmentState & setSrcAlphaBlendFactor(BlendFactor srcAlphaBlendFactor_)
Definition: vulkan.hpp:18977
ExternalFenceHandleTypeFlags exportFromImportedHandleTypes
Definition: vulkan.hpp:27053
VkResult vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences, VkBool32 waitAll, uint64_t timeout) const
Definition: vulkan.hpp:2345
PipelineTessellationDomainOriginStateCreateInfo(TessellationDomainOrigin domainOrigin_=TessellationDomainOrigin::eUpperLeft)
Definition: vulkan.hpp:28714
Definition: vulkan_core.h:314
bool operator!=(ImageMemoryRequirementsInfo2 const &rhs) const
Definition: vulkan.hpp:14386
PipelineTessellationStateCreateFlagBits
Definition: vulkan.hpp:2428
Flags< PipelineCacheCreateFlagBits, VkPipelineCacheCreateFlags > PipelineCacheCreateFlags
Definition: vulkan.hpp:2390
ImageUsageFlags usage
Definition: vulkan.hpp:18772
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetDeviceProcAddr)(VkDevice device, const char *pName)
Definition: vulkan_core.h:2731
PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets
Definition: vulkan.hpp:41857
StructureType sType
Definition: vulkan.hpp:9368
WriteDescriptorSet & setDstArrayElement(uint32_t dstArrayElement_)
Definition: vulkan.hpp:8956
PFN_vkCmdCopyBuffer vkCmdCopyBuffer
Definition: vulkan.hpp:41865
ImageSubresourceLayers imageSubresource
Definition: vulkan.hpp:20374
const PushConstantRange * pPushConstantRanges
Definition: vulkan.hpp:18489
AttachmentDescription & setStoreOp(AttachmentStoreOp storeOp_)
Definition: vulkan.hpp:22970
BufferImageCopy & setImageOffset(Offset3D imageOffset_)
Definition: vulkan.hpp:20339
uint32_t SampleMask
Definition: vulkan.hpp:2350
DescriptorSetLayoutBinding & setDescriptorType(DescriptorType descriptorType_)
Definition: vulkan.hpp:18200
VkResult vkSetEvent(VkDevice device, VkEvent event) const
Definition: vulkan.hpp:2305
PFN_vkCreateShaderModule vkCreateShaderModule
Definition: vulkan.hpp:41960
Optional< const AllocationCallbacks > m_allocator
Definition: vulkan.hpp:1022
ImageCreateInfo & setExtent(Extent3D extent_)
Definition: vulkan.hpp:21691
SparseMemoryBind & setResourceOffset(DeviceSize resourceOffset_)
Definition: vulkan.hpp:20935
PipelineCacheCreateInfo & operator=(VkPipelineCacheCreateInfo const &rhs)
Definition: vulkan.hpp:9992
Flags< BitType > & operator^=(Flags< BitType > const &rhs)
Definition: vulkan.hpp:153
bool operator==(DebugReportCallbackCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:23796
bool operator!=(PhysicalDeviceSurfaceInfo2KHR const &rhs) const
Definition: vulkan.hpp:14190
size_t size
Definition: vulkan.hpp:5540
PipelineDepthStencilStateCreateInfo & setStencilTestEnable(Bool32 stencilTestEnable_)
Definition: vulkan.hpp:9904
Definition: vulkan_core.h:628
Flags< SamplerCreateFlagBits, VkSamplerCreateFlags > SamplerCreateFlags
Definition: vulkan.hpp:2378
PhysicalDeviceMultiviewFeatures & setMultiviewTessellationShader(Bool32 multiviewTessellationShader_)
Definition: vulkan.hpp:12697
ObjectTableNVX objectTable
Definition: vulkan.hpp:37416
Bool32 descriptorBindingStorageBufferUpdateAfterBind
Definition: vulkan.hpp:16028
Definition: vulkan_core.h:194
PipelineInputAssemblyStateCreateInfo(VkPipelineInputAssemblyStateCreateInfo const &rhs)
Definition: vulkan.hpp:9478
IndirectCommandsLayoutNVX indirectCommandsLayout
Definition: vulkan.hpp:37417
ObjectTableDescriptorSetEntryNVX(VkObjectTableDescriptorSetEntryNVX const &rhs)
Definition: vulkan.hpp:25017
bool operator==(MemoryType const &rhs) const
Definition: vulkan.hpp:17640
bool operator==(FenceCreateInfo const &rhs) const
Definition: vulkan.hpp:19193
VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT()
Definition: vulkan.hpp:4689
DescriptorSetLayoutBindingFlagsCreateInfoEXT & setPBindingFlags(const DescriptorBindingFlagsEXT *pBindingFlags_)
Definition: vulkan.hpp:29501
ValidationFlagsEXT & operator=(VkValidationFlagsEXT const &rhs)
Definition: vulkan.hpp:24365
PipelineCoverageModulationStateCreateInfoNV & setFlags(PipelineCoverageModulationStateCreateFlagsNV flags_)
Definition: vulkan.hpp:29078
VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos)
Definition: vulkan_core.h:704
VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures)
const Semaphore * pWaitSemaphores
Definition: vulkan.hpp:31048
Bool32 sparseResidency16Samples
Definition: vulkan.hpp:6268
SamplerYcbcrRange
Definition: vulkan.hpp:28783
InstanceCreateInfo & setPpEnabledLayerNames(const char *const *ppEnabledLayerNames_)
Definition: vulkan.hpp:8723
bool operator==(PhysicalDeviceIDProperties const &rhs) const
Definition: vulkan.hpp:12151
AttachmentDescription(VkAttachmentDescription const &rhs)
Definition: vulkan.hpp:22936
T type
Definition: vulkan.hpp:912
const char * pLabelName
Definition: vulkan.hpp:15516
SamplerYcbcrConversionInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:14604
void vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties *pMemoryProperties) const
Definition: vulkan.hpp:2031
SampleLocationsInfoEXT & operator=(VkSampleLocationsInfoEXT const &rhs)
Definition: vulkan.hpp:22545
Definition: vulkan_core.h:1256
SubpassSampleLocationsEXT(uint32_t subpassIndex_=0, SampleLocationsInfoEXT sampleLocationsInfo_=SampleLocationsInfoEXT())
Definition: vulkan.hpp:22665
VULKAN_HPP_CONSTEXPR Device(std::nullptr_t)
Definition: vulkan.hpp:31333
bool operator==(PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs) const
Definition: vulkan.hpp:15089
bool operator!=(InputAttachmentAspectReference const &rhs) const
Definition: vulkan.hpp:20555
DescriptorUpdateTemplateEntry & setStride(size_t stride_)
Definition: vulkan.hpp:7494
AttachmentDescription & setStencilLoadOp(AttachmentLoadOp stencilLoadOp_)
Definition: vulkan.hpp:22976
DiscardRectangleModeEXT discardRectangleMode
Definition: vulkan.hpp:28340
bool operator==(PipelineTessellationStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9583
SubpassDescriptionFlags flags
Definition: vulkan.hpp:28482
void(VKAPI_PTR * PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements)
Definition: vulkan_core.h:4366
uint32_t srcSubpass
Definition: vulkan.hpp:23285
Offset3D(VkOffset3D const &rhs)
Definition: vulkan.hpp:4813
PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR
Definition: vulkan.hpp:41933
BindImageMemoryDeviceGroupInfo(VkBindImageMemoryDeviceGroupInfo const &rhs)
Definition: vulkan.hpp:13095
void vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties) const
Definition: vulkan.hpp:2073
ImageAspectFlagBits planeAspect
Definition: vulkan.hpp:20742
VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, VkDeviceSize stride, VkQueryResultFlags flags)
ImageCopy & operator=(VkImageCopy const &rhs)
Definition: vulkan.hpp:20162
Definition: vulkan_core.h:571
ImageSubresource(ImageAspectFlags aspectMask_=ImageAspectFlags(), uint32_t mipLevel_=0, uint32_t arrayLayer_=0)
Definition: vulkan.hpp:19723
VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
bool operator!=(ObjectTableIndexBufferEntryNVX const &rhs) const
Definition: vulkan.hpp:25193
BindImageMemorySwapchainInfoKHR & setImageIndex(uint32_t imageIndex_)
Definition: vulkan.hpp:13554
Definition: vulkan_core.h:166
Extent3D extent
Definition: vulkan.hpp:20454
bool operator==(ObjectTableNVX const &rhs) const
Definition: vulkan.hpp:4041
bool operator==(RenderPassInputAttachmentAspectCreateInfo const &rhs) const
Definition: vulkan.hpp:20609
GraphicsPipelineCreateInfo & setPTessellationState(const PipelineTessellationStateCreateInfo *pTessellationState_)
Definition: vulkan.hpp:21979
Flags< ExternalMemoryHandleTypeFlagBits, VkExternalMemoryHandleTypeFlags > ExternalMemoryHandleTypeFlags
Definition: vulkan.hpp:25395
bool operator==(MemoryRequirements2 const &rhs) const
Definition: vulkan.hpp:14466
uint32_t signalSemaphoreCount
Definition: vulkan.hpp:31052
DisplayPowerStateEXT
Definition: vulkan.hpp:27392
void * pNext
Definition: vulkan.hpp:22430
Definition: vulkan_core.h:822
VULKAN_HPP_TYPESAFE_EXPLICIT DeviceMemory(VkDeviceMemory deviceMemory)
Definition: vulkan.hpp:2683
Format format
Definition: vulkan.hpp:9226
QueryPool & operator=(std::nullptr_t)
Definition: vulkan.hpp:3767
ExternalSemaphoreFeatureFlags externalSemaphoreFeatures
Definition: vulkan.hpp:26510
Definition: vulkan_core.h:129
Definition: vulkan_core.h:1016
bool operator!=(DescriptorPoolSize const &rhs) const
Definition: vulkan.hpp:7432
PhysicalDeviceExternalBufferInfo(BufferCreateFlags flags_=BufferCreateFlags(), BufferUsageFlags usage_=BufferUsageFlags(), ExternalMemoryHandleTypeFlagBits handleType_=ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
Definition: vulkan.hpp:25476
Definition: vulkan_core.h:963
Definition: vulkan_core.h:670
Definition: vulkan_core.h:671
VkResult vkCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineCache *pPipelineCache) const
Definition: vulkan.hpp:1521
bool operator!=(DescriptorSetLayoutBinding const &rhs) const
Definition: vulkan.hpp:18238
StructureType sType
Definition: vulkan.hpp:14510
uint32_t deviceMask
Definition: vulkan.hpp:13236
void vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const
Definition: vulkan.hpp:1377
VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
SubmitInfo & setPCommandBuffers(const CommandBuffer *pCommandBuffers_)
Definition: vulkan.hpp:31001
PFN_vkCmdSetLineWidth vkCmdSetLineWidth
Definition: vulkan.hpp:41906
Semaphore semaphore
Definition: vulkan.hpp:26712
const DynamicState * pDynamicStates
Definition: vulkan.hpp:16745
GLenum GLenum GLuint components
Definition: glext.h:10527
#define const
Definition: zconf.h:217
void drawIndexedIndirect(Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:5864
PFN_vkCmdDispatch vkCmdDispatch
Definition: vulkan.hpp:41873
void vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV *pViewportWScalings) const
Definition: vulkan.hpp:1389
PipelineInputAssemblyStateCreateFlags flags
Definition: vulkan.hpp:9536
void vkUpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData) const
Definition: vulkan.hpp:2333
bool operator==(MemoryDedicatedRequirements const &rhs) const
Definition: vulkan.hpp:14496
Definition: vulkan_core.h:1429
Definition: vulkan_core.h:209
bool operator==(RenderPassCreateInfo const &rhs) const
Definition: vulkan.hpp:28571
BufferCreateFlags flags
Definition: vulkan.hpp:18132
ObjectEntryUsageFlagsNVX flags
Definition: vulkan.hpp:25268
VkResult(VKAPI_PTR * PFN_vkResetEvent)(VkDevice device, VkEvent event)
Definition: vulkan_core.h:2767
bool operator==(SurfaceCapabilitiesKHR const &rhs) const
Definition: vulkan.hpp:23659
PhysicalDevice16BitStorageFeatures & setPNext(void *pNext_)
Definition: vulkan.hpp:14224
VULKAN_HPP_CONSTEXPR DescriptorSetLayout(std::nullptr_t)
Definition: vulkan.hpp:3416
uint32_t maxStorageImagesPerDescriptor
Definition: vulkan.hpp:24890
const char * pMessageIdName
Definition: vulkan.hpp:17207
PFN_vkDestroyFramebuffer vkDestroyFramebuffer
Definition: vulkan.hpp:41994
PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT
Definition: vulkan.hpp:42012
uint32_t maxPipelineLayouts
Definition: vulkan.hpp:24892
Definition: vulkan_core.h:1341
DescriptorImageInfo(VkDescriptorImageInfo const &rhs)
Definition: vulkan.hpp:7151
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
PipelineVertexInputDivisorStateCreateInfoEXT & setPVertexBindingDivisors(const VertexInputBindingDivisorDescriptionEXT *pVertexBindingDivisors_)
Definition: vulkan.hpp:16232
bool operator==(ExternalImageFormatProperties const &rhs) const
Definition: vulkan.hpp:26119
const void * pNext
Definition: vulkan.hpp:20136
PhysicalDeviceImageFormatInfo2 & setType(ImageType type_)
Definition: vulkan.hpp:18719
VkResult vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges) const
Definition: vulkan.hpp:2217
BlendOp colorBlendOp
Definition: vulkan.hpp:19026
MemoryAllocateFlagBits
Definition: vulkan.hpp:27608
PFN_vkCmdFillBuffer vkCmdFillBuffer
Definition: vulkan.hpp:41887
void vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1647
IncompatibleDriverError(char const *message)
Definition: vulkan.hpp:737
PresentTimeGOOGLE & operator=(VkPresentTimeGOOGLE const &rhs)
Definition: vulkan.hpp:6903
Offset2D maxDstPosition
Definition: vulkan.hpp:23434
VkValidationCacheEXT m_validationCacheEXT
Definition: vulkan.hpp:4346
PipelineVertexInputStateCreateInfo & operator=(VkPipelineVertexInputStateCreateInfo const &rhs)
Definition: vulkan.hpp:9394
VULKAN_HPP_TYPESAFE_EXPLICIT Image(VkImage image)
Definition: vulkan.hpp:2951
Definition: vulkan_core.h:1427
SemaphoreCreateInfo & setFlags(SemaphoreCreateFlags flags_)
Definition: vulkan.hpp:10483
DebugMarkerObjectNameInfoEXT & setPObjectName(const char *pObjectName_)
Definition: vulkan.hpp:23900
bool operator!=(DebugReportCallbackEXT const &rhs) const
Definition: vulkan.hpp:4653
VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks *pAllocator)
ObjectDestroy(Optional< const AllocationCallbacks > allocator=nullptr)
Definition: vulkan.hpp:1031
VULKAN_HPP_CONSTEXPR ObjectTableNVX(std::nullptr_t)
Definition: vulkan.hpp:4019
bool operator!=(DescriptorSetVariableDescriptorCountAllocateInfoEXT const &rhs) const
Definition: vulkan.hpp:16159
DebugUtilsMessengerCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:29293
SampleCountFlags sampleCounts
Definition: vulkan.hpp:21633
StructureType sType
Definition: vulkan.hpp:23637
Result getPastPresentationTimingGOOGLE(SwapchainKHR swapchain, uint32_t *pPresentationTimingCount, PastPresentationTimingGOOGLE *pPresentationTimings, Dispatch const &d=Dispatch()) const
SpecializationMapEntry & setOffset(uint32_t offset_)
Definition: vulkan.hpp:5509
Definition: vulkan_core.h:654
ShaderInfoTypeAMD
Definition: vulkan.hpp:29147
VULKAN_HPP_CONSTEXPR DescriptorSet(std::nullptr_t)
Definition: vulkan.hpp:3349
GLenum mode
Definition: glext.h:6857
Bool32 occlusionQueryEnable
Definition: vulkan.hpp:19535
Bool32 descriptorBindingSampledImageUpdateAfterBind
Definition: vulkan.hpp:16026
PFN_vkFreeDescriptorSets vkFreeDescriptorSets
Definition: vulkan.hpp:42026
CmdProcessCommandsInfoNVX & setSequencesIndexBuffer(Buffer sequencesIndexBuffer_)
Definition: vulkan.hpp:37373
SpecializationInfo & setMapEntryCount(uint32_t mapEntryCount_)
Definition: vulkan.hpp:5564
DeviceQueueInfo2 & operator=(VkDeviceQueueInfo2 const &rhs)
Definition: vulkan.hpp:17544
PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage
Definition: vulkan.hpp:41866
Definition: vulkan_core.h:3696
StencilOpState & setFailOp(StencilOp failOp_)
Definition: vulkan.hpp:7775
float depth
Definition: vulkan.hpp:5704
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex)
MemoryHostPointerPropertiesEXT(VkMemoryHostPointerPropertiesEXT const &rhs)
Definition: vulkan.hpp:15528
SubpassDescription & setFlags(SubpassDescriptionFlags flags_)
Definition: vulkan.hpp:28398
VkResult vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR *pCapabilities) const
Definition: vulkan.hpp:1857
Definition: vulkan_core.h:1271
Definition: vulkan_core.h:1100
const SampleLocationEXT * pSampleLocations
Definition: vulkan.hpp:22608
ImageViewCreateInfo & setSubresourceRange(ImageSubresourceRange subresourceRange_)
Definition: vulkan.hpp:20104
IndirectCommandsTokenTypeNVX tokenType
Definition: vulkan.hpp:24603
uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers
Definition: vulkan.hpp:16093
ComponentSwizzle a
Definition: vulkan.hpp:7372
Bool32 vertexPipelineStoresAndAtomics
Definition: vulkan.hpp:6242
VkResult(VKAPI_PTR * PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence)
Definition: vulkan_core.h:2755
VkObjectTableNVX m_objectTableNVX
Definition: vulkan.hpp:4074
VkResult vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage) const
Definition: vulkan.hpp:1489
VkBool32(VKAPI_PTR * PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display *display)
Definition: vulkan_wayland.h:46
bool operator==(PhysicalDeviceProtectedMemoryProperties const &rhs) const
Definition: vulkan.hpp:14903
MemoryAllocateInfo(DeviceSize allocationSize_=0, uint32_t memoryTypeIndex_=0)
Definition: vulkan.hpp:8779
void(VKAPI_PTR * PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
Definition: vulkan_core.h:2828
Bool32 shaderStorageImageArrayDynamicIndexing
Definition: vulkan.hpp:6253
const void * pNext
Definition: vulkan.hpp:17865
VULKAN_HPP_CONSTEXPR CommandBuffer()
Definition: vulkan.hpp:29634
FramebufferCreateFlagBits
Definition: vulkan.hpp:2356
VkResult(VKAPI_PTR * PFN_vkCreateInstance)(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkInstance *pInstance)
Definition: vulkan_core.h:2721
Definition: vulkan_core.h:605
StructureType sType
Definition: vulkan.hpp:14449
void destroyImageView(ImageView imageView, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
const void * pNext
Definition: vulkan.hpp:14990
RenderPassBeginInfo & setPClearValues(const ClearValue *pClearValues_)
Definition: vulkan.hpp:10365
uint32_t layerCount
Definition: vulkan.hpp:19924
const DescriptorPoolSize * pPoolSizes
Definition: vulkan.hpp:23166
Definition: vulkan_core.h:1227
ComponentMapping & setG(ComponentSwizzle g_)
Definition: vulkan.hpp:7333
Definition: vulkan_core.h:2007
VULKAN_HPP_TYPESAFE_EXPLICIT DisplayModeKHR(VkDisplayModeKHR displayModeKHR)
Definition: vulkan.hpp:4429
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR
Definition: vulkan.hpp:42112
ApplicationInfo(const char *pApplicationName_=nullptr, uint32_t applicationVersion_=0, const char *pEngineName_=nullptr, uint32_t engineVersion_=0, uint32_t apiVersion_=0)
Definition: vulkan.hpp:8588
RenderPassSampleLocationsBeginInfoEXT & setAttachmentInitialSampleLocationsCount(uint32_t attachmentInitialSampleLocationsCount_)
Definition: vulkan.hpp:22740
BindImageMemorySwapchainInfoKHR & setSwapchain(SwapchainKHR swapchain_)
Definition: vulkan.hpp:13548
BindBufferMemoryDeviceGroupInfo & setPDeviceIndices(const uint32_t *pDeviceIndices_)
Definition: vulkan.hpp:12974
VULKAN_HPP_TYPESAFE_EXPLICIT DebugUtilsMessengerEXT(VkDebugUtilsMessengerEXT debugUtilsMessengerEXT)
Definition: vulkan.hpp:4697
bool operator==(PhysicalDevice const &rhs) const
Definition: vulkan.hpp:35806
float maxSamplerLodBias
Definition: vulkan.hpp:22291
VULKAN_HPP_CONSTEXPR ShaderModule()
Definition: vulkan.hpp:3077
Definition: vulkan_core.h:1665
PFN_vkCreateDevice vkCreateDevice
Definition: vulkan.hpp:41931
uint32_t presentID
Definition: vulkan.hpp:6936
BufferViewCreateInfo & setFlags(BufferViewCreateFlags flags_)
Definition: vulkan.hpp:9168
bool operator==(ObjectTableVertexBufferEntryNVX const &rhs) const
Definition: vulkan.hpp:25118
ResultValueType< UniqueSamplerYcbcrConversion >::type createSamplerYcbcrConversionKHRUnique(const SamplerYcbcrConversionCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1013
Definition: vulkan_core.h:903
const void * pNext
Definition: vulkan.hpp:12072
Extent2D extent
Definition: vulkan.hpp:5109
PipelineMultisampleStateCreateInfo & setMinSampleShading(float minSampleShading_)
Definition: vulkan.hpp:21848
uint32_t height
Definition: vulkan.hpp:4911
PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR
Definition: vulkan.hpp:42007
void * pNext
Definition: vulkan.hpp:15571
const char *const * ppEnabledExtensionNames
Definition: vulkan.hpp:8773
VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker)
const void * pNext
Definition: vulkan.hpp:10455
bool operator==(PipelineColorBlendStateCreateInfo const &rhs) const
Definition: vulkan.hpp:19103
StructureType sType
Definition: vulkan.hpp:28248
PFN_vkDestroyImageView vkDestroyImageView
Definition: vulkan.hpp:41996
PhysicalDeviceFeatures & setTextureCompressionETC2(Bool32 textureCompressionETC2_)
Definition: vulkan.hpp:5938
Result waitForFences(uint32_t fenceCount, const Fence *pFences, Bool32 waitAll, uint64_t timeout, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:25363
Definition: vulkan_core.h:338
IndirectCommandsLayoutTokenNVX(VkIndirectCommandsLayoutTokenNVX const &rhs)
Definition: vulkan.hpp:24619
Definition: vulkan_core.h:486
Definition: vulkan_core.h:491
ApplicationInfo & setApplicationVersion(uint32_t applicationVersion_)
Definition: vulkan.hpp:8619
PipelineTessellationStateCreateInfo & setFlags(PipelineTessellationStateCreateFlags flags_)
Definition: vulkan.hpp:9566
uint32_t imageIndex
Definition: vulkan.hpp:13584
DescriptorPoolCreateFlags flags
Definition: vulkan.hpp:23163
StructureType sType
Definition: vulkan.hpp:12069
bool operator!=(ComponentMapping const &rhs) const
Definition: vulkan.hpp:7364
bool operator==(MemoryAllocateInfo const &rhs) const
Definition: vulkan.hpp:8818
PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges
Definition: vulkan.hpp:42024
PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR
Definition: vulkan.hpp:42091
VkResult vkDeviceWaitIdle(VkDevice device) const
Definition: vulkan.hpp:1735
PhysicalDeviceProtectedMemoryFeatures & setProtectedMemory(Bool32 protectedMemory_)
Definition: vulkan.hpp:14837
DebugUtilsLabelEXT & setPLabelName(const char *pLabelName_)
Definition: vulkan.hpp:15481
Extent2D maxDstExtent
Definition: vulkan.hpp:23436
Definition: vulkan_core.h:4578
Bool32 unnormalizedCoordinates
Definition: vulkan.hpp:10237
void vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1699
bool operator!=(PhysicalDeviceExternalBufferInfo const &rhs) const
Definition: vulkan.hpp:25531
DeviceSize minUniformBufferOffsetAlignment
Definition: vulkan.hpp:22299
MemoryMapFlagBits
Definition: vulkan.hpp:2494
uint32_t maxPerStageDescriptorStorageBuffers
Definition: vulkan.hpp:22247
VkResult(VKAPI_PTR * PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo *pBeginInfo)
Definition: vulkan_core.h:2811
SamplerYcbcrConversionCreateInfo(VkSamplerYcbcrConversionCreateInfo const &rhs)
Definition: vulkan.hpp:28813
void vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1675
bool operator!=(PhysicalDevicePointClippingProperties const &rhs) const
Definition: vulkan.hpp:28626
Definition: vulkan_core.h:5748
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice)
VkResult(VKAPI_PTR * PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
Definition: vulkan_core.h:2749
bool operator!=(FramebufferCreateInfo const &rhs) const
Definition: vulkan.hpp:10604
DisplayModeCreateInfoKHR & setParameters(DisplayModeParametersKHR parameters_)
Definition: vulkan.hpp:10654
uint64_t presentMargin
Definition: vulkan.hpp:6886
Definition: vulkan_core.h:901
ImageResolve(ImageSubresourceLayers srcSubresource_=ImageSubresourceLayers(), Offset3D srcOffset_=Offset3D(), ImageSubresourceLayers dstSubresource_=ImageSubresourceLayers(), Offset3D dstOffset_=Offset3D(), Extent3D extent_=Extent3D())
Definition: vulkan.hpp:20382
bool operator!=(ExportMemoryAllocateInfoNV const &rhs) const
Definition: vulkan.hpp:24212
VkSubpassContents
Definition: vulkan_core.h:1159
T * data() const
Definition: vulkan.hpp:332
Flags< ImageCreateFlagBits, VkImageCreateFlags > ImageCreateFlags
Definition: vulkan.hpp:18666
bool operator==(PhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15610
Definition: vulkan_core.h:2219
PFN_vkBindImageMemory2 vkBindImageMemory2
Definition: vulkan.hpp:41852
QueryControlFlags queryFlags
Definition: vulkan.hpp:19536
bool operator<(ValidationCacheEXT const &rhs) const
Definition: vulkan.hpp:4323
void(VKAPI_PTR * PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent *pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers)
Definition: vulkan_core.h:2846
DeviceQueueCreateFlagBits
Definition: vulkan.hpp:17305
Flags(MaskType flags)
Definition: vulkan.hpp:130
bool operator!=(ImageView const &rhs) const
Definition: vulkan.hpp:3041
uint32_t subgroupSize
Definition: vulkan.hpp:24476
SparseImageOpaqueMemoryBindInfo & setBindCount(uint32_t bindCount_)
Definition: vulkan.hpp:21164
Definition: vulkan_core.h:128
ExternalFenceHandleTypeFlagBits handleType
Definition: vulkan.hpp:26804
Definition: vulkan_core.h:136
PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers
Definition: vulkan.hpp:41844
SpecializationInfo & setPMapEntries(const SpecializationMapEntry *pMapEntries_)
Definition: vulkan.hpp:5570
Definition: vulkan_core.h:594
bool operator!=(ImageCopy const &rhs) const
Definition: vulkan.hpp:20211
uint32_t maxSgprAllocation
Definition: vulkan.hpp:15803
VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks *pAllocator)
DebugUtilsObjectTagInfoEXT & setTagName(uint64_t tagName_)
Definition: vulkan.hpp:17031
VkResult vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool) const
Definition: vulkan.hpp:1423
void(VKAPI_PTR * PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
Definition: vulkan_core.h:2848
Flags< DisplayModeCreateFlagBitsKHR, VkDisplayModeCreateFlagsKHR > DisplayModeCreateFlagsKHR
Definition: vulkan.hpp:2518
float minLuminance
Definition: vulkan.hpp:13791
Definition: vulkan_core.h:325
int32_t basePipelineIndex
Definition: vulkan.hpp:22105
bool operator==(PipelineLayoutCreateInfo const &rhs) const
Definition: vulkan.hpp:18464
uint32_t maxPerStageDescriptorUniformBuffers
Definition: vulkan.hpp:22246
Definition: vulkan.hpp:3811
BufferMemoryBarrier & setOffset(DeviceSize offset_)
Definition: vulkan.hpp:17930
const void * pNext
Definition: vulkan.hpp:24221
uint32_t specVersion
Definition: vulkan.hpp:5217
ValidationCacheHeaderVersionEXT
Definition: vulkan.hpp:29142
VkSwapchainKHR m_swapchainKHR
Definition: vulkan.hpp:4614
Definition: vulkan_core.h:6207
DebugMarkerObjectTagInfoEXT & setPTag(const void *pTag_)
Definition: vulkan.hpp:23987
Definition: vulkan.hpp:888
ObjectTableVertexBufferEntryNVX(ObjectEntryTypeNVX type_=ObjectEntryTypeNVX::eDescriptorSet, ObjectEntryUsageFlagsNVX flags_=ObjectEntryUsageFlagsNVX(), Buffer buffer_=Buffer())
Definition: vulkan.hpp:25078
MemoryMapFailedError(char const *message)
Definition: vulkan.hpp:705
SwapchainCounterCreateInfoEXT & setSurfaceCounters(SurfaceCounterFlagsEXT surfaceCounters_)
Definition: vulkan.hpp:27360
ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes
Definition: vulkan.hpp:26105
Definition: vulkan_core.h:527
PFN_vkCreateFramebuffer vkCreateFramebuffer
Definition: vulkan.hpp:41936
uint32_t descriptorCount
Definition: vulkan.hpp:18245
PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR
Definition: vulkan.hpp:42103
SubpassDependency & operator=(VkSubpassDependency const &rhs)
Definition: vulkan.hpp:23217
PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices
Definition: vulkan.hpp:42023
Definition: vulkan_core.h:1133
Flags< BufferUsageFlagBits, VkBufferUsageFlags > BufferUsageFlags
Definition: vulkan.hpp:17993
bool operator!() const
Definition: vulkan.hpp:3867
Definition: vulkan.hpp:632
Definition: vulkan_core.h:634
PipelineDepthStencilStateCreateInfo & setFront(StencilOpState front_)
Definition: vulkan.hpp:9910
bool operator!=(DrawIndexedIndirectCommand const &rhs) const
Definition: vulkan.hpp:6438
Definition: vulkan_core.h:1012
uint32_t maxPerStageDescriptorStorageImages
Definition: vulkan.hpp:22249
Rect2D srcRect
Definition: vulkan.hpp:10755
Definition: vulkan_core.h:548
StructureType sType
Definition: vulkan.hpp:15203
DebugUtilsMessengerCreateInfoEXT & setMessageSeverity(DebugUtilsMessageSeverityFlagsEXT messageSeverity_)
Definition: vulkan.hpp:29305
Definition: vulkan_core.h:2428
Definition: vulkan_core.h:6691
StructureType sType
Definition: vulkan.hpp:21378
VULKAN_HPP_TYPESAFE_EXPLICIT ValidationCacheEXT(VkValidationCacheEXT validationCacheEXT)
Definition: vulkan.hpp:4295
bool operator==(DebugUtilsObjectNameInfoEXT const &rhs) const
Definition: vulkan.hpp:16967
const void * pNext
Definition: vulkan.hpp:9298
DebugUtilsMessageTypeFlagBitsEXT
Definition: vulkan.hpp:29245
Extent3D maxExtent
Definition: vulkan.hpp:21630
ObjectType
Definition: vulkan.hpp:16876
VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
Definition: vulkan_core.h:952
bool operator!=(SharedPresentSurfaceCapabilitiesKHR const &rhs) const
Definition: vulkan.hpp:18572
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(uint32_t *pApiVersion)
const void * pNext
Definition: vulkan.hpp:17205
Definition: vulkan_core.h:790
PFN_vkVoidFunction getProcAddr(const char *pName, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:3695
DescriptorSetLayoutBinding & setPImmutableSamplers(const Sampler *pImmutableSamplers_)
Definition: vulkan.hpp:18218
MemoryPropertyFlags propertyFlags
Definition: vulkan.hpp:17651
VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkSurfaceCapabilities2KHR *pSurfaceCapabilities) const
Definition: vulkan.hpp:2097
ExternalSemaphoreHandleTypeFlags compatibleHandleTypes
Definition: vulkan.hpp:26509
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT *pSurfaceCapabilities)
Definition: vulkan_core.h:6477
void setEvent(Event event, PipelineStageFlags stageMask, Dispatch const &d=Dispatch()) const
VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks *pAllocator)
BufferMemoryBarrier & setSize(DeviceSize size_)
Definition: vulkan.hpp:17936
VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT(std::nullptr_t)
Definition: vulkan.hpp:4693
PipelineViewportStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9627
Bool32 shaderStorageImageReadWithoutFormat
Definition: vulkan.hpp:6248
bool operator==(CmdReserveSpaceForCommandsInfoNVX const &rhs) const
Definition: vulkan.hpp:11877
PhysicalDeviceConservativeRasterizationPropertiesEXT & setConservativeRasterizationPostDepthCoverage(Bool32 conservativeRasterizationPostDepthCoverage_)
Definition: vulkan.hpp:15710
BindBufferMemoryInfo & setMemoryOffset(DeviceSize memoryOffset_)
Definition: vulkan.hpp:12906
Definition: vulkan_core.h:824
Bool32 multiviewGeometryShader
Definition: vulkan.hpp:12728
void pipelineBarrier(PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const MemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const BufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const ImageMemoryBarrier *pImageMemoryBarriers, Dispatch const &d=Dispatch()) const
uint32_t sampleLocationsCount
Definition: vulkan.hpp:22607
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate)
PFN_vkGetFenceFdKHR vkGetFenceFdKHR
Definition: vulkan.hpp:42048
StencilOpState & setCompareOp(CompareOp compareOp_)
Definition: vulkan.hpp:7793
void vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures) const
Definition: vulkan.hpp:1825
Result createInstance(const InstanceCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Instance *pInstance, Dispatch const &d=Dispatch())
Definition: vulkan.hpp:38415
PipelineShaderStageCreateInfo & setModule(ShaderModule module_)
Definition: vulkan.hpp:18290
HdrMetadataEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:13703
Offset3D & setZ(int32_t z_)
Definition: vulkan.hpp:4835
GLboolean GLenum GLenum GLvoid * values
Definition: glext.h:6318
const uint32_t * pQueueFamilyIndices
Definition: vulkan.hpp:28095
bool operator!=(PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs) const
Definition: vulkan.hpp:16307
Definition: vulkan_core.h:4337
IndirectCommandsTokenNVX(VkIndirectCommandsTokenNVX const &rhs)
Definition: vulkan.hpp:24558
const void * pNext
Definition: vulkan.hpp:14637
Flags< EventCreateFlagBits, VkEventCreateFlags > EventCreateFlags
Definition: vulkan.hpp:2492
DeviceGroupSubmitInfo & setPWaitSemaphoreDeviceIndices(const uint32_t *pWaitSemaphoreDeviceIndices_)
Definition: vulkan.hpp:13335
void getMultisamplePropertiesEXT(SampleCountFlagBits samples, MultisamplePropertiesEXT *pMultisampleProperties, Dispatch const &d=Dispatch()) const
PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT
Definition: vulkan.hpp:41871
uint32_t viewportCount
Definition: vulkan.hpp:9690
bool operator==(Pipeline const &rhs) const
Definition: vulkan.hpp:3170
QueryPoolCreateInfo & setPipelineStatistics(QueryPipelineStatisticFlags pipelineStatistics_)
Definition: vulkan.hpp:19649
Definition: vulkan_core.h:4158
PipelineRasterizationConservativeStateCreateInfoEXT & setExtraPrimitiveOverestimationSize(float extraPrimitiveOverestimationSize_)
Definition: vulkan.hpp:29407
Definition: vulkan_core.h:940
uint32_t maxArrayLayers
Definition: vulkan.hpp:21632
bool operator!=(BindImageMemorySwapchainInfoKHR const &rhs) const
Definition: vulkan.hpp:13573
Offset2D offset
Definition: vulkan.hpp:6662
bool operator!=(DescriptorSetVariableDescriptorCountLayoutSupportEXT const &rhs) const
Definition: vulkan.hpp:16188
VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display)
void vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1723
GLuint buffer
Definition: glext.h:6555
bool operator==(ImageFormatProperties2 const &rhs) const
Definition: vulkan.hpp:22414
Definition: vulkan_core.h:3990
Definition: vulkan_core.h:1469
DebugReportCallbackCreateInfoEXT(DebugReportFlagsEXT flags_=DebugReportFlagsEXT(), PFN_vkDebugReportCallbackEXT pfnCallback_=nullptr, void *pUserData_=nullptr)
Definition: vulkan.hpp:23750
VertexInputAttributeDescription(uint32_t location_=0, uint32_t binding_=0, Format format_=Format::eUndefined, uint32_t offset_=0)
Definition: vulkan.hpp:8224
ObjectTableCreateInfoNVX & operator=(VkObjectTableCreateInfoNVX const &rhs)
Definition: vulkan.hpp:24789
Bool32 alphaToOneEnable
Definition: vulkan.hpp:21906
PipelineDiscardRectangleStateCreateInfoEXT(PipelineDiscardRectangleStateCreateFlagsEXT flags_=PipelineDiscardRectangleStateCreateFlagsEXT(), DiscardRectangleModeEXT discardRectangleMode_=DiscardRectangleModeEXT::eInclusive, uint32_t discardRectangleCount_=0, const Rect2D *pDiscardRectangles_=nullptr)
Definition: vulkan.hpp:28266
Extent3D imageGranularity
Definition: vulkan.hpp:20795
Definition: vulkan_core.h:1554
float y
Definition: vulkan.hpp:6766
virtual ~Error()=default
bool operator==(MemoryAllocateFlagsInfo const &rhs) const
Definition: vulkan.hpp:27677
void vkDestroyObjectTableNVX(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1679
VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNVX()
Definition: vulkan.hpp:4082
PipelineDepthStencilStateCreateInfo & setDepthWriteEnable(Bool32 depthWriteEnable_)
Definition: vulkan.hpp:9886
Definition: vulkan_core.h:2637
PipelineCoverageToColorStateCreateInfoNV(VkPipelineCoverageToColorStateCreateInfoNV const &rhs)
Definition: vulkan.hpp:14933
VULKAN_HPP_CONSTEXPR ValidationCacheEXT()
Definition: vulkan.hpp:4287
VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites)
Definition: vulkan_core.h:6654
Definition: vulkan_core.h:521
PFN_vkQueuePresentKHR vkQueuePresentKHR
Definition: vulkan.hpp:42164
DescriptorSetLayoutBinding & setStageFlags(ShaderStageFlags stageFlags_)
Definition: vulkan.hpp:18212
ClearRect(Rect2D rect_=Rect2D(), uint32_t baseArrayLayer_=0, uint32_t layerCount_=0)
Definition: vulkan.hpp:5115
bool operator!=(DebugReportCallbackCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:23805
PhysicalDeviceExternalImageFormatInfo(VkPhysicalDeviceExternalImageFormatInfo const &rhs)
Definition: vulkan.hpp:25424
Definition: vulkan_core.h:7064
VkResult vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSemaphore *pSemaphore) const
Definition: vulkan.hpp:1549
ResultValueType< Pipeline >::type createGraphicsPipeline(PipelineCache pipelineCache, const GraphicsPipelineCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:28081
bool operator!=(ImageFormatProperties const &rhs) const
Definition: vulkan.hpp:21625
bool operator!=(PhysicalDevicePushDescriptorPropertiesKHR const &rhs) const
Definition: vulkan.hpp:12000
Definition: vulkan_core.h:167
DeviceCreateFlags flags
Definition: vulkan.hpp:17519
Definition: vulkan_core.h:6589
Definition: vulkan_core.h:3842
Definition: vulkan_core.h:3743
Definition: vulkan_core.h:1541
VkResult vkSetDebugUtilsObjectNameEXT(VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo) const
Definition: vulkan.hpp:2297
bool operator<(DescriptorSet const &rhs) const
Definition: vulkan.hpp:3381
DeviceQueueCreateInfo(DeviceQueueCreateFlags flags_=DeviceQueueCreateFlags(), uint32_t queueFamilyIndex_=0, uint32_t queueCount_=0, const float *pQueuePriorities_=nullptr)
Definition: vulkan.hpp:17332
bool operator==(IndirectCommandsTokenNVX const &rhs) const
Definition: vulkan.hpp:24591
PhysicalDeviceExternalSemaphoreInfo & setHandleType(ExternalSemaphoreHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:26231
Extent2D maxSrcExtent
Definition: vulkan.hpp:23432
Flags< BitType > operator|(BitType bit, Flags< BitType > const &flags)
Definition: vulkan.hpp:217
Definition: vulkan_core.h:949
VULKAN_HPP_CONSTEXPR Fence(std::nullptr_t)
Definition: vulkan.hpp:3550
PipelineCoverageToColorStateCreateInfoNV & operator=(VkPipelineCoverageToColorStateCreateInfoNV const &rhs)
Definition: vulkan.hpp:14938
void getExternalBufferPropertiesKHR(const PhysicalDeviceExternalBufferInfo *pExternalBufferInfo, ExternalBufferProperties *pExternalBufferProperties, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1428
Definition: vulkan_core.h:6140
Extent3D & setWidth(uint32_t width_)
Definition: vulkan.hpp:4934
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT *pDeviceEventInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence)
VkFlags VkImageUsageFlags
Definition: vulkan_core.h:1265
ImageCreateInfo & operator=(VkImageCreateInfo const &rhs)
Definition: vulkan.hpp:21662
PushConstantRange & operator=(VkPushConstantRange const &rhs)
Definition: vulkan.hpp:18356
SampleLocationsInfoEXT sampleLocationsInfo
Definition: vulkan.hpp:22710
Definition: vulkan_core.h:1232
uint32_t maxFragmentCombinedOutputResources
Definition: vulkan.hpp:22281
Definition: vulkan_core.h:5288
void vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1611
Bool32 shaderInt16
Definition: vulkan.hpp:6258
void link()
Definition: vulkan.hpp:484
PhysicalDevice16BitStorageFeatures & setUniformAndStorageBuffer16BitAccess(Bool32 uniformAndStorageBuffer16BitAccess_)
Definition: vulkan.hpp:14236
Definition: vulkan_core.h:6155
ComponentSwizzle
Definition: vulkan.hpp:7296
uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
Definition: vulkan.hpp:16103
PipelineViewportWScalingStateCreateInfoNV & setViewportWScalingEnable(Bool32 viewportWScalingEnable_)
Definition: vulkan.hpp:14018
Viewport & setX(float x_)
Definition: vulkan.hpp:4997
Type & operator*()
Definition: vulkan.hpp:399
void vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const
Definition: vulkan.hpp:1321
Definition: vulkan_core.h:7192
void(VKAPI_PTR * PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
Definition: vulkan_core.h:2830
RenderPassBeginInfo & setRenderPass(RenderPass renderPass_)
Definition: vulkan.hpp:10341
Definition: vulkan_core.h:1185
Definition: vulkan_core.h:951
PhysicalDeviceShaderDrawParameterFeatures(Bool32 shaderDrawParameters_=0)
Definition: vulkan.hpp:15404
CoverageModulationModeNV
Definition: vulkan.hpp:29043
ExternalSemaphoreFeatureFlagBits
Definition: vulkan.hpp:26452
uint32_t descriptorCount
Definition: vulkan.hpp:7438
void dispatchIndirect(Buffer buffer, DeviceSize offset, Dispatch const &d=Dispatch()) const
ResultValueType< UniqueDeviceMemory >::type allocateMemoryUnique(const MemoryAllocateInfo &allocateInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Flags< QueryPoolCreateFlagBits, VkQueryPoolCreateFlags > QueryPoolCreateFlags
Definition: vulkan.hpp:2366
BufferImageCopy & operator=(VkBufferImageCopy const &rhs)
Definition: vulkan.hpp:20310
bool operator!=(ViewportSwizzleNV const &rhs) const
Definition: vulkan.hpp:28173
StructureType sType
Definition: vulkan.hpp:14275
ObjectEntryUsageFlagBitsNVX
Definition: vulkan.hpp:24511
ImageSubresourceLayers srcSubresource
Definition: vulkan.hpp:20216
DisplayPresentInfoKHR & setPersistent(Bool32 persistent_)
Definition: vulkan.hpp:10725
Type const & operator*() const
Definition: vulkan.hpp:394
Definition: vulkan_core.h:117
ObjectTableVertexBufferEntryNVX(VkObjectTableVertexBufferEntryNVX const &rhs)
Definition: vulkan.hpp:25085
void vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo, VkExternalFenceProperties *pExternalFenceProperties) const
Definition: vulkan.hpp:1975
MemoryType memoryTypes[VK_MAX_MEMORY_TYPES]
Definition: vulkan.hpp:17727
void(VKAPI_PTR * PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer *pBuffers, const VkDeviceSize *pOffsets)
Definition: vulkan_core.h:2826
Result getExternalImageFormatPropertiesNV(Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags, ExternalMemoryHandleTypeFlagsNV externalHandleType, ExternalImageFormatPropertiesNV *pExternalImageFormatProperties, Dispatch const &d=Dispatch()) const
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderInputAttachmentArrayNonUniformIndexing(Bool32 shaderInputAttachmentArrayNonUniformIndexing_)
Definition: vulkan.hpp:15896
bool operator==(SubresourceLayout const &rhs) const
Definition: vulkan.hpp:5402
PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT
Definition: vulkan.hpp:42144
VkResult vkMergeValidationCachesEXT(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT *pSrcCaches) const
Definition: vulkan.hpp:2229
Definition: vulkan_core.h:5753
void(VKAPI_PTR * PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2762
DeviceGroupSubmitInfo & setPCommandBufferDeviceMasks(const uint32_t *pCommandBufferDeviceMasks_)
Definition: vulkan.hpp:13347
PipelineDiscardRectangleStateCreateInfoEXT(VkPipelineDiscardRectangleStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:28274
Definition: vulkan_vi.h:36
bool operator!=(DedicatedAllocationBufferCreateInfoNV const &rhs) const
Definition: vulkan.hpp:11428
uint32_t clearValueCount
Definition: vulkan.hpp:10400
PipelineColorBlendStateCreateInfo & setLogicOpEnable(Bool32 logicOpEnable_)
Definition: vulkan.hpp:19068
RenderPass renderPass
Definition: vulkan.hpp:10615
bool operator!=(FenceGetFdInfoKHR const &rhs) const
Definition: vulkan.hpp:26982
DebugUtilsMessengerCreateInfoEXT & operator=(VkDebugUtilsMessengerCreateInfoEXT const &rhs)
Definition: vulkan.hpp:29288
FragmentedPoolError(std::string const &message)
Definition: vulkan.hpp:759
uint32_t mipLevel
Definition: vulkan.hpp:19776
size_t minMemoryMapAlignment
Definition: vulkan.hpp:22297
bool operator!=(MemoryRequirements2 const &rhs) const
Definition: vulkan.hpp:14473
PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR
Definition: vulkan.hpp:42033
ImportMemoryFdInfoKHR & operator=(VkImportMemoryFdInfoKHR const &rhs)
Definition: vulkan.hpp:25874
const Viewport * pViewports
Definition: vulkan.hpp:9691
VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit *pRegions, VkFilter filter)
DebugUtilsObjectTagInfoEXT & setObjectType(ObjectType objectType_)
Definition: vulkan.hpp:17019
Definition: vulkan_core.h:840
Bool32 sparseBinding
Definition: vulkan.hpp:6261
VkResult(VKAPI_PTR * PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID *pInfo, struct AHardwareBuffer **pBuffer)
Definition: vulkan_android.h:108
bool operator==(ExternalFenceProperties const &rhs) const
Definition: vulkan.hpp:27034
uint32_t maxGeometryInputComponents
Definition: vulkan.hpp:22274
DeviceSize size
Definition: vulkan.hpp:20985
bool operator!=(AttachmentSampleLocationsEXT const &rhs) const
Definition: vulkan.hpp:22653
未知的编译器 设备已从端口上断开 文件已存在。保存到备份缓冲区 连接来自:「 公开地址 Setting disk in tray 你已离开游戏 This core does not support inter architecture netplay between these systems 输入联机游戏服务器的密码: s 已断开连接 联机游戏已断开 玩家数量已满 联机游戏对方「 s」暂停 Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames 调整菜单屏幕相关的设置。 以延迟和视频撕裂为代价换取高性能。 n 当且仅当能达到全速模拟时使用。 自动检测 容量 连接到端口 对不起,未实现:核心未请求内容,无法加入联机游戏。 密码 用户名 账户列表终端 成就列表 添加游戏内容 导入游戏内容 询问 块帧 音频驱动 启用音频 涡轮 盲区 音频最大采样间隔 音频输出码率(Hz) 音频重采样驱动 启用音频同步 游戏存档自动保存间隔 自动加载自定义键位文件 返回 信息 向下滚动 开始 切换菜单 确认 退出 默认值 切换菜单 启用蓝牙服务 缓存文件夹 相机驱动 应用金手指修改 金手指文件 加载金手指文件(追加) 金手指列表 专家模式 成就奖章 锁定 非官方成就测试 未锁定 详细模式 关闭 加载配置 退出时保存配置 收藏 游戏内容文件夹 允许移除记录 下载文件夹 金手指 显示核心名称 作者 核心标签 固件 许可 系统制造商 键位设置 核心选项 自动启动一个核心 构建机器人核心URL 更新程序 指针文件夹 自定义比率 选择数据库 选择文件并选择核心< 默认 > 没有找到文件夹。 Disk Cycle Tray Status 光盘索引 自动 下载核心…… 启用DPI覆盖 驱动 加载前检查固件完整性 动态壁纸文件夹 菜单项悬停颜色 否 收藏夹 限制最大运行速度 帧率限制 自动加载游戏内容特定的核心选项 游戏选项文件 音频 视频故障排除 基本菜单控制 加载游戏内容 什么是「核心」? 历史 图像 信息 所有用户都能控制菜单 左摇杆Y 右摇杆X 右摇杆Y Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right 摇杆灵敏度 绑定全部 绑定超时时间 显示输入描述标签 设备类型 Turbo占空比 键盘控制器映射启用 下十字键 左十字键 右十字键 开始键 s 键 Mouse Mouse Wheel Up Wheel Left 键盘控制器映射类型 游戏控制器菜单切出组合键 金手指索引 光驱出仓切换 上一张光盘 快进保持 帧提前量 鼠标捕获开关 即时读档 视频录制开关 联机游戏切换 游戏 围观 模式 下一个图层 退出 RetroArch 回溯 屏幕截图 上一个渲染器 慢动作切换 存档槽 音量 显示图层 在图层上显示控制器 轮询类型行为 稍晚 优先前置触摸 启用绑定自定义键位 输入 启用触摸 连发按键频率 延迟 输入设备自动配置文件夹 Lakka 服务 繁体中文 英语 法语 意大利语 韩语 葡萄牙语 俄语 越南语 左侧摇杆 核心信息文件夹 线性 加载最近的游戏内容 即时读档 定位驱动 完整日志记录 数据库设置 蓝色 深蓝色 NV SHIELD 黄色 顶部不透明度 限制菜单帧率 菜单线性过滤 菜单 壁纸不透明度 多媒体 过滤未知扩展名 最近 允许从属模式客户端 输入延迟帧 在线游戏延迟帧数 启用在线游戏 作为游戏主机 服务器地址 启用在线游戏客户端 服务器密码 只允许从属模式客户端 在线游戏设置 最大 数字输入分配 Grapple 无 在线游戏旁观者模式 服务器观战的密码 在线游戏 TCP UDP 端口 网络命令 网络信息 网络远端基本端口 否 N A 没有核心 没有可用的核心信息。 没有可显示的条目。 没有可用的信息。 未发现联机游戏主机。 没有性能计数器。 没有可用的游戏列表项目。 没有渲染器参数。 开 在线更新器 屏幕图层 屏幕提示 以文件夹形式打开压缩包 OSK 图层文件夹 自动加载最佳的图层 图层不透明度 图层缩放比例 使用 PAL60 模式 当菜单激活时暂停 性能计数器 游戏列表文件夹 触摸支持 现在 MIDI 设置 支持摇杆输入 CERO 分级 CRC32 开发者 Edge 杂志评分 ELSPA 分级 ESRB 分级 经销商 MD5 起源 出版方 发售年份 系列 启动游戏内容 重启 录像输出文件夹 录像配置 MIDI 驱动 输出文件 自定义键位文件 保存核心自定义键位文件 保存游戏自定义键位文件 重启 继续 键盘 带摇杆的手柄 启用回溯 游戏加载时自动应用金手指 回溯 配置文件夹 右侧摇杆 添加到收藏 运行 启用SAMBA文件共享服务 自动索引即时存档 自动保存即时存档 即时存档缩略图 保存核心独立配置 保存游戏独立配置 即时存档 扫描文件夹< 扫描当前文件夹 > 屏幕分辨率 秒 设置 应用渲染器修改 彩条效果 简易雪花效果 显示高级设置 关机 提前运行以降低延迟 排序文件夹中的游戏存档 启用SSH远程终端服务 启动远程输入设备 即时存档栏位 标准输入流命令 暂停屏保程序 系统 BIOS文件夹 支持 编译日期 Cocoa 支持 CoreText 支持 显示器度量DPI DirectSound 支持 动态链接库支持 EGL 支持 FFmpeg 支持 STB TrueType 支持 前端名称 Git版本 HLSL 支持 KMS EGL 支持 Libusb 支持 网络控制台支持 OpenAL 支持 OpenGL 支持 OpenVG 支持 图层支持 已充满电 放电中 PulseAudio 支持 BMP RetroRating 等级 RoarAudio 支持 RSound 支持 SDL2 支持 SDL1 支持 多线程支持 Video4Linux2 支持 Vulkan 支持 X11 支持 XVideo 支持 截图 缩略图 缩略图垂直排列 缩略图更新程序 截屏 显示时间日期 更改菜单中当前日期 时间显示格式。 YYYY MM DD MM DD YYYY DD MM MM DD 菜单标题颜色 UI Companion Enable 菜单栏 撤销即时读档 未知 更新资源 更新 CG 渲染器效果文件 更新核心信息文件 更新 GLSL 渲染器效果文件 更新图层 用户 语言 使用内建的图像浏览器< 使用当前文件夹 > 宽高比设置 宽高比选项 裁剪过扫描部分(需重启) 视频滤镜 闪烁过滤器 屏显消息 (OSD) 字体 强制视窗比例 帧延时 视频 Gamma 启用 GPU 截屏 强制 GPU 同步帧数 屏显消息(OSD)X轴位置 显示器索引 刷新率 由视频驱动自行设置刷新率 窗口缩放量 视频 渲染器渲染次数 加载渲染器预设 保存渲染器预设为 保存游戏文件夹预设 启用硬件共享上下文 启用软件过滤器 视频 降低闪烁 自定义视窗宽度 自定义视窗Y 垂直同步 窗口宽度 Wi Fi驱动 菜单透明度因子 菜单字体 RGB 绿色分量 菜单字体 FlatUI Monochrome Inverted NeoActive RetroActive Dot Art 苹果绿 深紫色 金色 蓝黑色 海底 菜单渲染器管线 启用图标阴影 显示导入内容页 显示收藏页 显示音乐页 显示视频页 菜单布局 是 打开或关闭成就。更多内容请访问 n 为测试目的而打开或关闭非官方成就 n 和测试版特性。 启用或禁用游戏中排行榜。 n 仅在硬核模式下生效。 启用或禁用屏显消息(OSD)显示成就获取情况。 修改驱动设置。 修改核心设置。 修改显示图层、键盘图层和屏幕通知的设置。 修改存档设置。 修改用户界面设置。 修改你的隐私设置。 修改此系统的默认文件夹。 修改网络设置。 调整音频输出的选项。 程序将在退出时保存修改到配置文件。 管理和创建配置文件。 在屏幕上显示当前每秒的帧率。 控制器用来切出菜单的组合键。 配置该用户的控制选项。 启用或禁止向控制台打印日志。 在局域网内搜索并连接联网游戏的主机。 下载并更新 RetroArch 的附加插件和组件。 管理操作系统层级的服务。 阻止系统激活屏幕保护程序。 在帧与帧之间插入黑色的中间帧,通常用于消除在 n 刷新率的显示器上运行 的游戏内容 n 带来的重影。 当开启「强制 GPU 同步」时, n CPU 可提前 GPU 多少帧。 选择将要使用哪一个显示器。 设置为视频驱动自行设置的刷新率 扫描无线网络并且建立连接。 外置磁盘 应用渲染器 取消静音。 自动配置文件保存成功。 自动保存即时存档至 Bringing up command interface on port 无法推断新的配置路径,使用当前时间。 与已知的magic numbers比较 未设置配置文件夹,无法保存新的配置。 内容的 CRC32s 不同。无法使用不同的游戏。 核心不支持即时存档。 找不到更多驱动程序。 无法找到有效的数据轨 无法读取内容文件 无法读取视频状态。 Custom timing given 解压缩失败。 没有找到有效的游戏内容补丁。 已关闭 正在下载 错误 Libretro 核心需要加载特定游戏内容才能运行。 保存核心选项文件时出现错误。 保存预设渲染器文件时出现错误。 正在解压 无法将配置文件保存到 同意旁观失败。 应用渲染器失败。 创建文件夹失败。 从客户端获取昵称失败。 载入内容失败 Failed to load overlay 打开libretro核心失败 接收客户端报文失败。 从主机接收昵称失败。 从主机接收游戏存档数据失败。 移除临时文件失败 无法保存即时存档到 发送昵称尺寸失败。 发送昵称至宿主端失败。 音频驱动启动失败,将在无音频模式下继续启动。 开始录制失败。 撤消即时读档失败。 取消静音失败。 未找到文件 Found disk label Found last state slot 帧 Got invalid disk index Game focus on Libretro core is hardware rendered Must use post shaded recording as well 输入金手指 输入预置文件名 接口 移动存储 (字节) (MB) 为libretro而设计的前端 读取 一个或多个固件文件丢失 正在读取历史文件 内存 视频格式看起来使用了不同的序列化版本。很有可能失败。 停止视频录制。 没有内容,启动虚拟核心。 没有加载任何存档。 独立配置保存成功。 RetroArch 接收完毕 录制到 重定向游戏存档文件至 自定义键位文件已保存。 移除临时内容文件 重启录制由于驱动器重新初始化。 重置渲染器预设到 恢复存档文件到目录 初始化回溯缓冲区大小 Implementation uses threaded audio Cannot use rewind 已保存新配置到 保存 保存 RAM 类型 扫描中 发送指令 渲染器 跳过游戏存档加载。 快进。 游戏存档不会被保存。 启动视频录制到 即时存档栏位 到 撤销即时存档 取消暂停。 Using core name for new config 从有效端口连接设备。 正在重启…… libretro API 版本 虚拟磁盘托盘。 静音或取消静音。 允许或禁止核心使用摄像头。 支持玩家的最大数量 允许任何用户打开菜单。 n 如果禁用,则只有用户 能打开菜单。 同步音频。推荐。 Amount of seconds to wait until proceeding to the next bind 连发时每两次按键之间的间隔帧数。 同步显卡的视频输出到屏幕刷新率。推荐。 某些核心关闭时可能会直接关闭 RetroArch。 n 启用此选项可以避免这种情况发生。 屏幕的刷新率。注意:如果视频独立线程已启用, n 此选项将被忽略。 The maximum change in audio input rate You may want to increase this to enable very large changes in for example running PAL cores on NTSC displays
Definition: msg_hash_chs.h:2579
Flags< ValidationCacheCreateFlagBitsEXT, VkValidationCacheCreateFlagsEXT > ValidationCacheCreateFlagsEXT
Definition: vulkan.hpp:2652
void(VKAPI_PTR * PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport *pViewports)
Definition: vulkan_core.h:2815
DeviceMemory memory
Definition: vulkan.hpp:21073
uint32_t offset
Definition: vulkan.hpp:18397
VkResult vkGetFenceStatus(VkDevice device, VkFence fence) const
Definition: vulkan.hpp:1873
OwnerType m_owner
Definition: vulkan.hpp:1092
Result createEvent(const EventCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Event *pEvent, Dispatch const &d=Dispatch()) const
PipelineDiscardRectangleStateCreateInfoEXT & setDiscardRectangleMode(DiscardRectangleModeEXT discardRectangleMode_)
Definition: vulkan.hpp:28296
Definition: vulkan_core.h:488
bool operator!=(SpecializationMapEntry const &rhs) const
Definition: vulkan.hpp:5533
Definition: vulkan_core.h:1444
ApplicationInfo & setPEngineName(const char *pEngineName_)
Definition: vulkan.hpp:8625
ImageCreateInfo & setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_)
Definition: vulkan.hpp:21739
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR *pDeviceGroupPresentCapabilities)
XYColorEXT displayPrimaryBlue
Definition: vulkan.hpp:13788
DisplayEventInfoEXT(DisplayEventTypeEXT displayEvent_=DisplayEventTypeEXT::eFirstPixelOut)
Definition: vulkan.hpp:27521
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator)
#define T(x)
ResultValueType< UniquePipeline >::type createComputePipelineUnique(PipelineCache pipelineCache, const ComputePipelineCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
DebugUtilsMessengerCallbackDataEXT & setPMessage(const char *pMessage_)
Definition: vulkan.hpp:17133
PipelineCacheCreateInfo & setInitialDataSize(size_t initialDataSize_)
Definition: vulkan.hpp:10009
Definition: vulkan_core.h:933
VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator)
Bool32 protectedSubmit
Definition: vulkan.hpp:14810
void(VKAPI_PTR * PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo)
Definition: vulkan_core.h:5923
uint32_t maxTexelBufferElements
Definition: vulkan.hpp:22236
PresentTimesInfoGOOGLE(VkPresentTimesInfoGOOGLE const &rhs)
Definition: vulkan.hpp:13805
Definition: vulkan_core.h:513
ExternalMemoryImageCreateInfo(VkExternalMemoryImageCreateInfo const &rhs)
Definition: vulkan.hpp:25556
Bool32 textureCompressionASTC_LDR
Definition: vulkan.hpp:6238
Definition: vulkan_core.h:579
SamplerYcbcrConversionCreateInfo & setYChromaOffset(ChromaLocation yChromaOffset_)
Definition: vulkan.hpp:28859
Bool32 fullDrawIndexUint32
Definition: vulkan.hpp:6218
PFN_vkWaitForFences vkWaitForFences
Definition: vulkan.hpp:42188
VkResult(VKAPI_PTR * PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display)
Definition: vulkan_core.h:6440
const Semaphore * pWaitSemaphores
Definition: vulkan.hpp:21383
Result getDisplayPlaneCapabilitiesKHR(DisplayModeKHR mode, uint32_t planeIndex, DisplayPlaneCapabilitiesKHR *pCapabilities, Dispatch const &d=Dispatch()) const
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingUniformBufferUpdateAfterBind(Bool32 descriptorBindingUniformBufferUpdateAfterBind_)
Definition: vulkan.hpp:15914
VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void **ppData)
#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
Definition: vulkan_core.h:108
ResultValue(Result r, T &&v)
Definition: vulkan.hpp:895
uint32_t deviceMask
Definition: vulkan.hpp:13295
void vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void *pValues) const
Definition: vulkan.hpp:1305
uint64_t earliestPresentTime
Definition: vulkan.hpp:6885
ObjectTableDescriptorSetEntryNVX & setType(ObjectEntryTypeNVX type_)
Definition: vulkan.hpp:25027
Definition: vulkan_core.h:489
PipelineLayoutCreateInfo & operator=(VkPipelineLayoutCreateInfo const &rhs)
Definition: vulkan.hpp:18418
bool operator==(ExtensionProperties const &rhs) const
Definition: vulkan.hpp:5180
VkResult vkSetDebugUtilsObjectTagEXT(VkDevice device, const VkDebugUtilsObjectTagInfoEXT *pTagInfo) const
Definition: vulkan.hpp:2301
const RectLayerKHR * pRectangles
Definition: vulkan.hpp:6715
VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport)
PFN_vkCreateIndirectCommandsLayoutNVX vkCreateIndirectCommandsLayoutNVX
Definition: vulkan.hpp:41943
Definition: vulkan_core.h:3750
const AttachmentReference * pColorAttachments
Definition: vulkan.hpp:28487
BufferCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:18063
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties)
Definition: vulkan_core.h:4373
SampleCountFlagBits
Definition: vulkan.hpp:21578
ConservativeRasterizationModeEXT
Definition: vulkan.hpp:29363
Definition: vulkan_core.h:3784
ShaderModuleCreateInfo & setPCode(const uint32_t *pCode_)
Definition: vulkan.hpp:9269
const SubpassSampleLocationsEXT * pPostSubpassSampleLocations
Definition: vulkan.hpp:22792
Flags< BitType > operator^(BitType bit, Flags< BitType > const &flags)
Definition: vulkan.hpp:229
bool operator!=(Offset3D const &rhs) const
Definition: vulkan.hpp:4853
CmdProcessCommandsInfoNVX(VkCmdProcessCommandsInfoNVX const &rhs)
Definition: vulkan.hpp:37309
DeviceMemory memory
Definition: vulkan.hpp:13078
const Semaphore * pSignalSemaphores
Definition: vulkan.hpp:21391
Optional(RefType *ptr)
Definition: vulkan.hpp:240
uint32_t maxCullDistances
Definition: vulkan.hpp:22325
bool operator!=(PhysicalDeviceFeatures2 const &rhs) const
Definition: vulkan.hpp:11943
StructureType sType
Definition: vulkan.hpp:11497
FramebufferCreateFlags flags
Definition: vulkan.hpp:10614
bool operator==(DescriptorSetVariableDescriptorCountLayoutSupportEXT const &rhs) const
Definition: vulkan.hpp:16181
VULKAN_HPP_CONSTEXPR Pipeline(std::nullptr_t)
Definition: vulkan.hpp:3148
Definition: vulkan_core.h:1566
uint32_t enabledLayerCount
Definition: vulkan.hpp:8770
PhysicalDeviceFeatures & setAlphaToOne(Bool32 alphaToOne_)
Definition: vulkan.hpp:5920
const void * pNext
Definition: vulkan.hpp:27883
PFN_vkCreateInstance vkCreateInstance
Definition: vulkan.hpp:41944
DeviceGroupBindSparseInfo & setMemoryDeviceIndex(uint32_t memoryDeviceIndex_)
Definition: vulkan.hpp:13433
StructureType sType
Definition: vulkan.hpp:12756
Definition: vulkan_core.h:599
VkResult(VKAPI_PTR * PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pSwapchainImageCount, VkImage *pSwapchainImages)
Definition: vulkan_core.h:4757
Buffer buffer
Definition: vulkan.hpp:9225
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBufferView *pView)
PipelineCoverageModulationStateCreateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:29072
VkResult(VKAPI_PTR * PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
Definition: vulkan_win32.h:168
ObjectEntryUsageFlagsNVX flags
Definition: vulkan.hpp:25002
PipelineRasterizationStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9724
bool operator!() const
Definition: vulkan.hpp:3599
PhysicalDeviceVariablePointerFeatures & setPNext(void *pNext_)
Definition: vulkan.hpp:12096
VkExternalMemoryHandleTypeFlagBits
Definition: vulkan_core.h:3778
ClearRect & setBaseArrayLayer(uint32_t baseArrayLayer_)
Definition: vulkan.hpp:5138
Definition: vulkan_core.h:5745
ImageMemoryBarrier & setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_)
Definition: vulkan.hpp:19982
ResultValueType< UniqueSurfaceKHR >::type createDisplayPlaneSurfaceKHRUnique(const DisplaySurfaceCreateInfoKHR &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
bool operator!=(Extent3D const &rhs) const
Definition: vulkan.hpp:4964
bool operator==(ExportSemaphoreCreateInfo const &rhs) const
Definition: vulkan.hpp:26299
Definition: vulkan_core.h:1230
IncompatibleDisplayKHRError(char const *message)
Definition: vulkan.hpp:809
VULKAN_HPP_INLINE std::error_condition make_error_condition(Result e)
Definition: vulkan.hpp:615
Flags< DescriptorPoolCreateFlagBits, VkDescriptorPoolCreateFlags > DescriptorPoolCreateFlags
Definition: vulkan.hpp:23068
PipelineColorBlendAttachmentState & setAlphaBlendOp(BlendOp alphaBlendOp_)
Definition: vulkan.hpp:18989
VkResult vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice) const
Definition: vulkan.hpp:1455
bool operator==(VertexInputAttributeDescription const &rhs) const
Definition: vulkan.hpp:8271
PhysicalDevice16BitStorageFeatures & setStorageInputOutput16(Bool32 storageInputOutput16_)
Definition: vulkan.hpp:14248
PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV
Definition: vulkan.hpp:42083
VULKAN_HPP_TYPESAFE_EXPLICIT SurfaceKHR(VkSurfaceKHR surfaceKHR)
Definition: vulkan.hpp:4496
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display *display)
Extent2D maxImageExtent
Definition: vulkan.hpp:27327
SparseBufferMemoryBindInfo & setPBinds(const SparseMemoryBind *pBinds_)
Definition: vulkan.hpp:21110
VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
SampleCountFlags storageImageSampleCounts
Definition: vulkan.hpp:22320
VULKAN_HPP_CONSTEXPR PhysicalDevice()
Definition: vulkan.hpp:35780
Definition: vulkan_core.h:1186
SemaphoreCreateInfo(SemaphoreCreateFlags flags_=SemaphoreCreateFlags())
Definition: vulkan.hpp:10462
PipelineShaderStageCreateInfo(VkPipelineShaderStageCreateInfo const &rhs)
Definition: vulkan.hpp:18262
PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements
Definition: vulkan.hpp:42031
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:5796
Definition: vulkan_core.h:1273
uint32_t bindCount
Definition: vulkan.hpp:21194
DisplayModeCreateInfoKHR(VkDisplayModeCreateInfoKHR const &rhs)
Definition: vulkan.hpp:10632
bool operator==(DescriptorImageInfo const &rhs) const
Definition: vulkan.hpp:7184
void(VKAPI_PTR * PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer)
Definition: vulkan_core.h:5922
Type m_value
Definition: vulkan.hpp:437
ResultValueType< UniqueDescriptorUpdateTemplate >::type createDescriptorUpdateTemplateUnique(const DescriptorUpdateTemplateCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
uint32_t colorAttachmentCount
Definition: vulkan.hpp:28486
PhysicalDeviceConservativeRasterizationPropertiesEXT & setPrimitiveOverestimationSize(float primitiveOverestimationSize_)
Definition: vulkan.hpp:15662
Definition: vulkan_core.h:673
BindImagePlaneMemoryInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:20651
void vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) const
Definition: vulkan.hpp:1333
const void * pNext
Definition: vulkan.hpp:13582
const uint32_t * pPreserveAttachments
Definition: vulkan.hpp:28491
Flags< CommandPoolCreateFlagBits, VkCommandPoolCreateFlags > CommandPoolCreateFlags
Definition: vulkan.hpp:21444
PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties
Definition: vulkan.hpp:42081
DescriptorType
Definition: vulkan.hpp:7376
void vkDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1651
VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
void(VKAPI_PTR * PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2790
Definition: vulkan_core.h:1340
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchain)
VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX *pProcessCommandsInfo)
SurfaceFormatKHR surfaceFormat
Definition: vulkan.hpp:23371
bool operator==(ShaderModuleCreateInfo const &rhs) const
Definition: vulkan.hpp:9280
PoolType m_pool
Definition: vulkan.hpp:1093
DisplayModeCreateInfoKHR & operator=(VkDisplayModeCreateInfoKHR const &rhs)
Definition: vulkan.hpp:10637
CmdProcessCommandsInfoNVX & setPIndirectCommandsTokens(const IndirectCommandsTokenNVX *pIndirectCommandsTokens_)
Definition: vulkan.hpp:37343
VULKAN_HPP_TYPESAFE_EXPLICIT SwapchainKHR(VkSwapchainKHR swapchainKHR)
Definition: vulkan.hpp:4563
ImageCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:21667
bool operator==(Offset3D const &rhs) const
Definition: vulkan.hpp:4846
VkResult(VKAPI_PTR * PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR *pMemoryFdProperties)
Definition: vulkan_core.h:5220
PipelineStageFlagBits
Definition: vulkan.hpp:21395
AllocationCallbacks & setPUserData(void *pUserData_)
Definition: vulkan.hpp:5245
PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT
Definition: vulkan.hpp:41883
bool operator!=(SemaphoreCreateInfo const &rhs) const
Definition: vulkan.hpp:10501
RenderPassBeginInfo & operator=(VkRenderPassBeginInfo const &rhs)
Definition: vulkan.hpp:10330
Definition: vulkan_core.h:202
Result getSurfaceCapabilities2KHR(const PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, SurfaceCapabilities2KHR *pSurfaceCapabilities, Dispatch const &d=Dispatch()) const
BindSparseInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:21285
DeviceGroupPresentModeFlagsKHR modes
Definition: vulkan.hpp:27756
DedicatedAllocationMemoryAllocateInfoNV & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:11472
ViewportCoordinateSwizzleNV z
Definition: vulkan.hpp:28180
PipelineTessellationStateCreateInfo(VkPipelineTessellationStateCreateInfo const &rhs)
Definition: vulkan.hpp:9550
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE *pHandle)
Definition: vulkan_win32.h:244
SemaphoreImportFlagBits
Definition: vulkan.hpp:26516
DescriptorSetLayoutCreateInfo & setPBindings(const DescriptorSetLayoutBinding *pBindings_)
Definition: vulkan.hpp:25337
void resolveImage(Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageResolve *pRegions, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:14335
bool operator==(PipelineCacheCreateInfo const &rhs) const
Definition: vulkan.hpp:10026
Definition: vulkan_core.h:207
PFN_vkReallocationFunction pfnReallocation
Definition: vulkan.hpp:5303
uint32_t bufferImageHeight
Definition: vulkan.hpp:20373
Definition: vulkan_core.h:564
uint32_t maxTessellationPatchSize
Definition: vulkan.hpp:22266
VkResult vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences) const
Definition: vulkan.hpp:2293
Result createShaderModule(const ShaderModuleCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, ShaderModule *pShaderModule, Dispatch const &d=Dispatch()) const
SparseImageMemoryBind(VkSparseImageMemoryBind const &rhs)
Definition: vulkan.hpp:21004
Result createFence(const FenceCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Fence *pFence, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:699
bool operator==(DescriptorSet const &rhs) const
Definition: vulkan.hpp:3371
PipelineSampleLocationsStateCreateInfoEXT & operator=(VkPipelineSampleLocationsStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:22809
const DescriptorImageInfo * pImageInfo
Definition: vulkan.hpp:9026
ExportMemoryAllocateInfo & setHandleTypes(ExternalMemoryHandleTypeFlags handleTypes_)
Definition: vulkan.hpp:25686
void(VKAPI_PTR * PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2802
ImageCreateInfo & setArrayLayers(uint32_t arrayLayers_)
Definition: vulkan.hpp:21703
XYColorEXT & setX(float x_)
Definition: vulkan.hpp:6737
DebugUtilsMessengerCallbackDataEXT & setQueueLabelCount(uint32_t queueLabelCount_)
Definition: vulkan.hpp:17139
DrawIndirectCommand & setFirstVertex(uint32_t firstVertex_)
Definition: vulkan.hpp:6336
PFN_vkDestroyImage vkDestroyImage
Definition: vulkan.hpp:41995
VkResult(VKAPI_PTR * PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFramebuffer *pFramebuffer)
Definition: vulkan_core.h:2801
bool operator!=(Image const &rhs) const
Definition: vulkan.hpp:2974
ImageViewUsageCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:18603
SwapchainCreateInfoKHR & setMinImageCount(uint32_t minImageCount_)
Definition: vulkan.hpp:27964
StructureType sType
Definition: vulkan.hpp:26255
RenderPassCreateInfo & setFlags(RenderPassCreateFlags flags_)
Definition: vulkan.hpp:28524
bool operator==(BindSparseInfo const &rhs) const
Definition: vulkan.hpp:21356
StructureType sType
Definition: vulkan.hpp:9127
const void * pNext
Definition: vulkan.hpp:13076
VkResult vkEnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties) const
Definition: vulkan.hpp:1767
VULKAN_HPP_CONSTEXPR SwapchainKHR()
Definition: vulkan.hpp:4555
const void * pNext
Definition: vulkan.hpp:31046
TessellationDomainOrigin
Definition: vulkan.hpp:28704
PhysicalDeviceSurfaceInfo2KHR & operator=(VkPhysicalDeviceSurfaceInfo2KHR const &rhs)
Definition: vulkan.hpp:14161
PresentTimesInfoGOOGLE & setPNext(const void *pNext_)
Definition: vulkan.hpp:13815
ExternalFenceHandleTypeFlagBits handleType
Definition: vulkan.hpp:26993
Definition: libretro.h:2275
uint32_t resourceDeviceIndex
Definition: vulkan.hpp:13462
PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2
Definition: vulkan.hpp:42032
const void * pNext
Definition: vulkan.hpp:23929
PFN_vkCmdBeginQuery vkCmdBeginQuery
Definition: vulkan.hpp:41855
void *(VKAPI_PTR * PFN_vkReallocationFunction)(void *pUserData, void *pOriginal, size_t size, size_t alignment, VkSystemAllocationScope allocationScope)
Definition: vulkan_core.h:1642
VkResult(VKAPI_PTR * PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBufferView *pView)
Definition: vulkan_core.h:2773
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator)
GLdouble GLdouble GLdouble r
Definition: glext.h:6406
VkResult vkBindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos) const
Definition: vulkan.hpp:1137
Image & operator=(std::nullptr_t)
Definition: vulkan.hpp:2963
DeviceQueueGlobalPriorityCreateInfoEXT & operator=(VkDeviceQueueGlobalPriorityCreateInfoEXT const &rhs)
Definition: vulkan.hpp:29174
bool operator==(ExternalMemoryProperties const &rhs) const
Definition: vulkan.hpp:26092
DisplayModeKHR & operator=(std::nullptr_t)
Definition: vulkan.hpp:4441
Definition: vulkan_core.h:1952
void(VKAPI_PTR * PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers)
Definition: vulkan_core.h:2810
float maxLuminance
Definition: vulkan.hpp:13790
bool operator<(Fence const &rhs) const
Definition: vulkan.hpp:3582
Definition: vulkan_core.h:495
Definition: vulkan_core.h:6492
Result allocateDescriptorSets(const DescriptorSetAllocateInfo *pAllocateInfo, DescriptorSet *pDescriptorSets, Dispatch const &d=Dispatch()) const
void endDebugUtilsLabelEXT(Dispatch const &d=Dispatch()) const
SamplerCreateInfo & setMipLodBias(float mipLodBias_)
Definition: vulkan.hpp:10131
VULKAN_HPP_INLINE ResultValueType< void >::type createResultValue(Result result, char const *message)
Definition: vulkan.hpp:926
const CommandBuffer * pCommandBuffers
Definition: vulkan.hpp:31051
Definition: vulkan_core.h:1499
Definition: vulkan_android.h:62
PhysicalDevice16BitStorageFeatures(VkPhysicalDevice16BitStorageFeatures const &rhs)
Definition: vulkan.hpp:14214
PFN_vkVoidFunction vkGetDeviceProcAddr(VkDevice device, const char *pName) const
Definition: vulkan.hpp:1841
RenderPassSampleLocationsBeginInfoEXT(VkRenderPassSampleLocationsBeginInfoEXT const &rhs)
Definition: vulkan.hpp:22724
bool operator==(RenderPassBeginInfo const &rhs) const
Definition: vulkan.hpp:10376
uint32_t dstArrayElement
Definition: vulkan.hpp:9136
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks *pAllocator)
bool operator==(PhysicalDeviceExternalBufferInfo const &rhs) const
Definition: vulkan.hpp:25522
Definition: vulkan_core.h:683
Definition: vulkan_core.h:1590
ImageType
Definition: vulkan.hpp:7266
VkResult vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDisplayModeKHR *pMode) const
Definition: vulkan.hpp:1459
uint32_t imageArrayLayers
Definition: vulkan.hpp:28091
void vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo) const
Definition: vulkan.hpp:1225
VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT()
Definition: vulkan.hpp:4622
Definition: vulkan_core.h:3759
uint32_t subpass
Definition: vulkan.hpp:22103
Definition: vulkan_core.h:1190
VkResult(VKAPI_PTR * PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT *pTagInfo)
Definition: vulkan_core.h:6900
void(VKAPI_PTR * PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV *pViewportWScalings)
Definition: vulkan_core.h:6426
Bool32 subsetAllocation
Definition: vulkan.hpp:37457
PipelineDiscardRectangleStateCreateInfoEXT & setDiscardRectangleCount(uint32_t discardRectangleCount_)
Definition: vulkan.hpp:28302
CommandBufferBeginInfo & operator=(VkCommandBufferBeginInfo const &rhs)
Definition: vulkan.hpp:19554
void(VKAPI_PTR * PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData)
Definition: vulkan_core.h:4380
bool operator==(RenderPassSampleLocationsBeginInfoEXT const &rhs) const
Definition: vulkan.hpp:22769
bool operator!=(DebugUtilsMessengerEXT const &rhs) const
Definition: vulkan.hpp:4720
DescriptorUpdateTemplateCreateInfo & setPipelineLayout(PipelineLayout pipelineLayout_)
Definition: vulkan.hpp:16822
ShaderModuleValidationCacheCreateInfoEXT & operator=(VkShaderModuleValidationCacheCreateInfoEXT const &rhs)
Definition: vulkan.hpp:15297
void * pNext
Definition: vulkan.hpp:12726
void(VKAPI_PTR * PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D *pGranularity)
Definition: vulkan_core.h:2805
Bool32 shaderCullDistance
Definition: vulkan.hpp:6255
CopyDescriptorSet & setSrcSet(DescriptorSet srcSet_)
Definition: vulkan.hpp:9061
Definition: vulkan_core.h:1142
Flags< PipelineLayoutCreateFlagBits, VkPipelineLayoutCreateFlags > PipelineLayoutCreateFlags
Definition: vulkan.hpp:2384
Definition: vulkan_core.h:1171
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayPropertiesKHR *pProperties)
BufferCreateInfo & setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_)
Definition: vulkan.hpp:18099
Definition: vulkan_core.h:4543
SubgroupFeatureFlagBits
Definition: vulkan.hpp:24416
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties)
Definition: vulkan_core.h:5014
Definition: vulkan_core.h:1054
PFN_vkDestroyEvent vkDestroyEvent
Definition: vulkan.hpp:41992
CommandBufferBeginInfo(VkCommandBufferBeginInfo const &rhs)
Definition: vulkan.hpp:19549
DescriptorSetVariableDescriptorCountAllocateInfoEXT(VkDescriptorSetVariableDescriptorCountAllocateInfoEXT const &rhs)
Definition: vulkan.hpp:16118
SamplerYcbcrRange ycbcrRange
Definition: vulkan.hpp:28908
VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkShaderModule *pShaderModule)
Definition: vulkan_core.h:1084
bool operator!=(XYColorEXT const &rhs) const
Definition: vulkan.hpp:6760
SamplerYcbcrConversionCreateInfo & setFormat(Format format_)
Definition: vulkan.hpp:28829
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkLayerProperties *pProperties)
ImageViewCreateInfo & setImage(Image image_)
Definition: vulkan.hpp:20080
RenderPassBeginInfo(VkRenderPassBeginInfo const &rhs)
Definition: vulkan.hpp:10325
bool operator!=(DeviceEventInfoEXT const &rhs) const
Definition: vulkan.hpp:27500
const uint32_t * pObjectEntryCounts
Definition: vulkan.hpp:24886
VkResult(VKAPI_PTR * PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo)
Definition: vulkan_core.h:5920
PFN_vkCreateRenderPass vkCreateRenderPass
Definition: vulkan.hpp:41955
GLdouble GLdouble t
Definition: glext.h:6398
PipelineRasterizationConservativeStateCreateInfoEXT(PipelineRasterizationConservativeStateCreateFlagsEXT flags_=PipelineRasterizationConservativeStateCreateFlagsEXT(), ConservativeRasterizationModeEXT conservativeRasterizationMode_=ConservativeRasterizationModeEXT::eDisabled, float extraPrimitiveOverestimationSize_=0)
Definition: vulkan.hpp:29372
Definition: vulkan_core.h:1005
bool operator<(ObjectTableNVX const &rhs) const
Definition: vulkan.hpp:4051
ExportMemoryAllocateInfoNV(VkExportMemoryAllocateInfoNV const &rhs)
Definition: vulkan.hpp:24178
Flags< QueueFlagBits, VkQueueFlags > QueueFlags
Definition: vulkan.hpp:17228
CommandPool & operator=(std::nullptr_t)
Definition: vulkan.hpp:2762
Definition: vulkan_core.h:2157
void destroyQueryPool(QueryPool queryPool, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:149
bool operator!=(PresentTimesInfoGOOGLE const &rhs) const
Definition: vulkan.hpp:13846
VULKAN_HPP_CONSTEXPR SurfaceKHR(std::nullptr_t)
Definition: vulkan.hpp:4492
MemoryRequirements memoryRequirements
Definition: vulkan.hpp:14483
bool operator==(BufferMemoryBarrier const &rhs) const
Definition: vulkan.hpp:17947
FenceGetFdInfoKHR & setHandleType(ExternalFenceHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:26963
Definition: vulkan_core.h:1539
PipelineCacheCreateInfo & setFlags(PipelineCacheCreateFlags flags_)
Definition: vulkan.hpp:10003
Definition: vulkan_core.h:760
void vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties) const
Definition: vulkan.hpp:1967
bool operator==(BufferCopy const &rhs) const
Definition: vulkan.hpp:5466
bool operator!() const
Definition: vulkan.hpp:4407
Definition: vulkan_core.h:146
ValidationCheckEXT
Definition: vulkan.hpp:24346
PipelineColorBlendStateCreateInfo & setLogicOp(LogicOp logicOp_)
Definition: vulkan.hpp:19074
Definition: vulkan_core.h:2049
Definition: vulkan_core.h:177
VULKAN_HPP_TYPESAFE_EXPLICIT Framebuffer(VkFramebuffer framebuffer)
Definition: vulkan.hpp:3822
StructureType sType
Definition: vulkan.hpp:14751
BufferMemoryBarrier & operator=(VkBufferMemoryBarrier const &rhs)
Definition: vulkan.hpp:17889
bool operator==(QueueFamilyProperties2 const &rhs) const
Definition: vulkan.hpp:17282
Definition: vulkan_core.h:1105
SparseImageFormatFlagBits
Definition: vulkan.hpp:20748
void destroyIndirectCommandsLayoutNVX(IndirectCommandsLayoutNVX indirectCommandsLayout, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan.hpp:37474
Definition: vulkan_core.h:1752
bool operator==(DescriptorUpdateTemplate const &rhs) const
Definition: vulkan.hpp:4175
VkResult(VKAPI_PTR * PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBuffer *pBuffer)
Definition: vulkan_core.h:2771
PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier
Definition: vulkan.hpp:41890
PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT
Definition: vulkan.hpp:42113
SparseImageMemoryBindInfo & setImage(Image image_)
Definition: vulkan.hpp:21218
PresentInfoKHR & operator=(VkPresentInfoKHR const &rhs)
Definition: vulkan.hpp:16577
ExportSemaphoreCreateInfo(ExternalSemaphoreHandleTypeFlags handleTypes_=ExternalSemaphoreHandleTypeFlags())
Definition: vulkan.hpp:26267
ComputePipelineCreateInfo & setBasePipelineIndex(int32_t basePipelineIndex_)
Definition: vulkan.hpp:18861
Definition: vulkan_core.h:5863
bool operator==(PhysicalDeviceSamplerFilterMinmaxPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15004
QueryPoolCreateInfo & operator=(VkQueryPoolCreateInfo const &rhs)
Definition: vulkan.hpp:19620
bool operator!() const
Definition: vulkan.hpp:4202
bool operator!=(QueryPool const &rhs) const
Definition: vulkan.hpp:3778
BindBufferMemoryDeviceGroupInfo(VkBindBufferMemoryDeviceGroupInfo const &rhs)
Definition: vulkan.hpp:12952
DeviceQueueInfo2 & setPNext(const void *pNext_)
Definition: vulkan.hpp:17549
PhysicalDeviceFeatures & setShaderInt64(Bool32 shaderInt64_)
Definition: vulkan.hpp:6058
Definition: vulkan_core.h:1201
PipelineDynamicStateCreateInfo & setPDynamicStates(const DynamicState *pDynamicStates_)
Definition: vulkan.hpp:16713
VkFlags VkCommandBufferResetFlags
Definition: vulkan_core.h:1605
BorderColor borderColor
Definition: vulkan.hpp:10236
VkResult(VKAPI_PTR * PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass)
Definition: vulkan_core.h:2803
PhysicalDeviceExternalMemoryHostPropertiesEXT(VkPhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs)
Definition: vulkan.hpp:15583
PresentTimeGOOGLE & setPresentID(uint32_t presentID_)
Definition: vulkan.hpp:6908
VkResult vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices) const
Definition: vulkan.hpp:1775
Definition: vulkan_core.h:807
virtual const char * what() const noexcept
Definition: vulkan.hpp:641
bool operator==(ExportFenceCreateInfo const &rhs) const
Definition: vulkan.hpp:26844
AttachmentStoreOp storeOp
Definition: vulkan.hpp:23027
result_t Result
Definition: switch_audio_compat.h:53
VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass)
Definition: vulkan_core.h:5755
PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2
Definition: vulkan.hpp:42057
uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers
Definition: vulkan.hpp:16102
Flags< SparseImageFormatFlagBits, VkSparseImageFormatFlags > SparseImageFormatFlags
Definition: vulkan.hpp:20755
PresentInfoKHR & setPWaitSemaphores(const Semaphore *pWaitSemaphores_)
Definition: vulkan.hpp:16594
VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkQueryPool *pQueryPool)
PhysicalDevicePushDescriptorPropertiesKHR(VkPhysicalDevicePushDescriptorPropertiesKHR const &rhs)
Definition: vulkan.hpp:11966
Definition: vulkan_core.h:520
InputAttachmentAspectReference(VkInputAttachmentAspectReference const &rhs)
Definition: vulkan.hpp:20515
Definition: vulkan_core.h:932
Definition: vulkan_core.h:1928
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties)
Definition: vulkan_core.h:4593
bool operator==(AllocationCallbacks const &rhs) const
Definition: vulkan.hpp:5286
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties)
ImageMemoryBarrier(VkImageMemoryBarrier const &rhs)
Definition: vulkan.hpp:19942
Flags< PipelineColorBlendStateCreateFlagBits, VkPipelineColorBlendStateCreateFlags > PipelineColorBlendStateCreateFlags
Definition: vulkan.hpp:2408
Result enumeratePhysicalDeviceGroupsKHR(uint32_t *pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties, Dispatch const &d=Dispatch()) const
DynamicState
Definition: vulkan.hpp:16660
bool operator!() const
Definition: vulkan.hpp:3130
bool operator==(DisplayPresentInfoKHR const &rhs) const
Definition: vulkan.hpp:10736
Bool32 shaderUniformBufferArrayNonUniformIndexing
Definition: vulkan.hpp:16018
Semaphore & operator=(std::nullptr_t)
Definition: vulkan.hpp:3633
SamplerYcbcrConversionInfo(VkSamplerYcbcrConversionInfo const &rhs)
Definition: vulkan.hpp:14594
Format format
Definition: vulkan.hpp:23342
Flags< DeviceQueueCreateFlagBits, VkDeviceQueueCreateFlags > DeviceQueueCreateFlags
Definition: vulkan.hpp:17310
Definition: vulkan_core.h:627
StructureType sType
Definition: vulkan.hpp:13232
Definition: vulkan_core.h:780
Definition: vulkan_core.h:3835
uint32_t maxStorageBuffersPerDescriptor
Definition: vulkan.hpp:24889
void vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const
Definition: vulkan.hpp:1169
SwapchainCreateInfoKHR & setCompositeAlpha(CompositeAlphaFlagBitsKHR compositeAlpha_)
Definition: vulkan.hpp:28024
Definition: vulkan_core.h:1473
ObjectEntryUsageFlagsNVX flags
Definition: vulkan.hpp:25131
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR *pImportSemaphoreWin32HandleInfo)
DebugUtilsMessengerCallbackDataEXT & setPQueueLabels(DebugUtilsLabelEXT *pQueueLabels_)
Definition: vulkan.hpp:17145
FenceCreateInfo(FenceCreateFlags flags_=FenceCreateFlags())
Definition: vulkan.hpp:19161
StructureType sType
Definition: vulkan.hpp:14916
ColorSpaceKHR imageColorSpace
Definition: vulkan.hpp:28089
uint32_t minImageCount
Definition: vulkan.hpp:28087
bool operator!() const
Definition: vulkan.hpp:2795
AttachmentSampleLocationsEXT(uint32_t attachmentIndex_=0, SampleLocationsInfoEXT sampleLocationsInfo_=SampleLocationsInfoEXT())
Definition: vulkan.hpp:22614
bool operator==(DeviceGroupDeviceCreateInfo const &rhs) const
Definition: vulkan.hpp:38372
bool operator<(QueryPool const &rhs) const
Definition: vulkan.hpp:3783
Pipeline pipeline
Definition: vulkan.hpp:25003
const void * pNext
Definition: vulkan.hpp:11820
bool operator==(MultisamplePropertiesEXT const &rhs) const
Definition: vulkan.hpp:15034
Definition: vulkan_core.h:2250
RenderPassCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:28518
Definition: vulkan_core.h:6655
Definition: vulkan_core.h:1018
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Public address Setting disk in tray You have left the game You have joined with input devices *s *s has joined as player u A netplay connection attempt failed because the peer is not running or is running an old version of RetroArch use the same version use the same version This core does not support inter architecture netplay Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Scan Content Import content Ask Block Frames نظام تشغيل الصوت Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control الصوت Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Cheat File Load Cheat File Cheat Passes Hardcore Mode Achievement Badges Locked Test Unofficial Achievements Unlocked Verbose Mode Config ملفات التكوين Collections Content Allow to remove entries Downloads Cheats Show core name Authors Core label Permissions System manufacturer Controls Options Start a Core Automatically Buildbot Cores URL Updater CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download Core DPI Override Enable أنظمة التشغيل Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Limit Maximum Run Speed Frontend Counters Create game options file مساعدة Changing Virtual Gamepad Overlay مساعدة Scanning For Content History List Enable Horizontal Menu معلومات Analog To Digital Type Left Analog X Left analog Left Analog Y Left analog Right Analog X Right analog Right Analog Y Right analog Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right Analog Stick Deadzone Bind All Bind Timeout Hide Unbound Core Input Descriptors Device Index Mouse Index Duty Cycle Keyboard Gamepad Mapping Enable B Down D pad L3 L Left D pad R3 R Right D pad Start button X Y Mouse Mouse Mouse Wheel Down Wheel Right Max Users Cheat index Cheat toggle Disk next Enable hotkeys Fast forward toggle Fullscreen toggle Game focus toggle Menu toggle Audio mute toggle On screen keyboard toggle Pause toggle Reset game Save state Next shader Slow motion toggle Savestate slot Volume Display Overlay Show Inputs On Overlay Poll Type Behavior Late Prefer Front Touch Remap Binds Enable أجهزة الادخال Touch Enable Turbo Period Internal storage status نظام تشغيل الجوي باد Dutch Esperanto German Japanese Polish Russian Vietnamese Left Analog Core Info Linear Load Recent Load State Location Driver Logging Verbosity Database Settings Blue Dark Blue Shield Yellow Header Opacity Throttle Menu Framerate Menu Linear Filter Appearance Background opacity Multimedia Filter unknown extensions Nearest Allow Slave Mode Clients Input Latency Frames Netplay Delay Frames Netplay Enable Start netplay host Server Address Netplay Client Enable Server Password Request Device u Netplay settings Max Digital Input Sharing Grapple None Netplay Spectator Mode Server Spectate Only Password Netplay TCP Port Network Commands Network Information Network Remote Base Port No N A No Core No core information available No entries to display No information is available No netplay hosts found No performance counters No playlist entries available No shader parameters ON التحديث عبر الانترنت Onscreen Overlay Browse Archive Overlay Overlay Overlay Preset Onscreen Overlay Parent directory Don t run in background قوائم التشغيل قوائم التشغيل Port خصوصية Analog supported CERO Rating CRC32 Developer Edge Magazine Rating ELSPA Rating ESRB Rating Franchise MD5 Origin Publisher Releasedate Year Serial Start Content Reboot Recording Output Load Recording Config Enable Recording Save Recordings in Output Dir Load Remap File Save Game Remap File Delete Game Remap File Restart Resume RetroKeyboard RetroPad w Analog Rewind Enable Rewind Config Right Analog Add to Favorites Run Savefile Auto Load State Savestate Save Current Configuration Save Game Overrides Save State Scan Directory< Scan This Directory > Screen Resolution seconds Settings Apply Changes Ribbon Simple Snow Show Advanced Settings Shutdown Sort Saves In Folders Write Savestates to Content Dir System Files are in Content Dir SSH Enable Start Remote RetroPad State Slot stdin Commands Suspend Screensaver System BIOS support Build date Cocoa support CoreText support Display metric DPI Display metric DirectSound support Dynamic library support EGL support FFmpeg support STB TrueType support Frontend name Git version HLSL support KMS EGL support LibretroDB support libxml2 XML parsing support Network Command interface support OpenAL support OpenGL support OpenVG support Overlay support Charged Discharging PulseAudio support BMP support(RBMP)") MSG_HASH(MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_RETRORATING_LEVEL
IndirectCommandsLayoutTokenNVX(IndirectCommandsTokenTypeNVX tokenType_=IndirectCommandsTokenTypeNVX::ePipeline, uint32_t bindingUnit_=0, uint32_t dynamicCount_=0, uint32_t divisor_=0)
Definition: vulkan.hpp:24611
VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator)
DebugUtilsMessageSeverityFlagsEXT messageSeverity
Definition: vulkan.hpp:29356
ImageUsageFlags usage
Definition: vulkan.hpp:18637
bool operator==(DescriptorPool const &rhs) const
Definition: vulkan.hpp:3505
Definition: vulkan_core.h:1181
DisplayKHR & operator=(std::nullptr_t)
Definition: vulkan.hpp:4374
NativeWindowInUseKHRError(char const *message)
Definition: vulkan.hpp:793
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_core.h:1270
Definition: vulkan.hpp:5613
float pointSizeRange[2]
Definition: vulkan.hpp:22328
NativeWindowInUseKHRError(std::string const &message)
Definition: vulkan.hpp:791
ObjectFree(OwnerType owner=OwnerType(), Optional< const AllocationCallbacks > allocator=nullptr)
Definition: vulkan.hpp:1052
void * pNext
Definition: vulkan.hpp:23714
bool operator!=(PhysicalDevice const &rhs) const
Definition: vulkan.hpp:35811
VkResult(VKAPI_PTR * PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_vi.h:44
void destroyImage(Image image, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Bool32 multiviewTessellationShader
Definition: vulkan.hpp:12729
VULKAN_HPP_INLINE const std::error_category & errorCategory()
Definition: vulkan.hpp:604
SwapchainCreateInfoKHR & setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_)
Definition: vulkan.hpp:28012
RenderPassMultiviewCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:12789
BufferMemoryBarrier & setPNext(const void *pNext_)
Definition: vulkan.hpp:17894
PFN_vkCmdClearColorImage vkCmdClearColorImage
Definition: vulkan.hpp:41863
ExportMemoryAllocateInfoNV & setHandleTypes(ExternalMemoryHandleTypeFlagsNV handleTypes_)
Definition: vulkan.hpp:24194
const void * pNext
Definition: vulkan.hpp:18768
PipelineVertexInputStateCreateInfo & setPVertexBindingDescriptions(const VertexInputBindingDescription *pVertexBindingDescriptions_)
Definition: vulkan.hpp:9417
ObjectTableCreateInfoNVX & setPNext(const void *pNext_)
Definition: vulkan.hpp:24794
RenderPassInputAttachmentAspectCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:20586
Definition: vulkan_core.h:1228
StructureType sType
Definition: vulkan.hpp:18481
Definition: vulkan_core.h:644
GLenum GLint * range
Definition: glext.h:8206
Offset2D maxSrcPosition
Definition: vulkan.hpp:23430
Definition: vulkan_core.h:1103
ImportSemaphoreFdInfoKHR & operator=(VkImportSemaphoreFdInfoKHR const &rhs)
Definition: vulkan.hpp:26652
Definition: vulkan.hpp:1049
bool operator==(ImportMemoryHostPointerInfoEXT const &rhs) const
Definition: vulkan.hpp:26030
uint32_t correlationMaskCount
Definition: vulkan.hpp:12862
ClearColorValue & setInt32(std::array< int32_t, 4 > int32_)
Definition: vulkan.hpp:5636
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties)
Definition: vulkan_core.h:4370
DeviceMemory memory
Definition: vulkan.hpp:8908
SamplerYcbcrConversionInfo & operator=(VkSamplerYcbcrConversionInfo const &rhs)
Definition: vulkan.hpp:14599
Definition: vulkan_core.h:958
void vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo, VkExternalFenceProperties *pExternalFenceProperties) const
Definition: vulkan.hpp:1971
Definition: vulkan.hpp:692
InstanceCreateInfo(VkInstanceCreateInfo const &rhs)
Definition: vulkan.hpp:8689
Definition: vulkan_core.h:2130
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
RenderPassSampleLocationsBeginInfoEXT & operator=(VkRenderPassSampleLocationsBeginInfoEXT const &rhs)
Definition: vulkan.hpp:22729
SamplerCreateInfo(SamplerCreateFlags flags_=SamplerCreateFlags(), Filter magFilter_=Filter::eNearest, Filter minFilter_=Filter::eNearest, SamplerMipmapMode mipmapMode_=SamplerMipmapMode::eNearest, SamplerAddressMode addressModeU_=SamplerAddressMode::eRepeat, SamplerAddressMode addressModeV_=SamplerAddressMode::eRepeat, SamplerAddressMode addressModeW_=SamplerAddressMode::eRepeat, float mipLodBias_=0, Bool32 anisotropyEnable_=0, float maxAnisotropy_=0, Bool32 compareEnable_=0, CompareOp compareOp_=CompareOp::eNever, float minLod_=0, float maxLod_=0, BorderColor borderColor_=BorderColor::eFloatTransparentBlack, Bool32 unnormalizedCoordinates_=0)
Definition: vulkan.hpp:10053
PhysicalDeviceExternalBufferInfo(VkPhysicalDeviceExternalBufferInfo const &rhs)
Definition: vulkan.hpp:25483
DescriptorPoolSize & setDescriptorCount(uint32_t descriptorCount_)
Definition: vulkan.hpp:7415
StructureType sType
Definition: vulkan.hpp:24472
void vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1615
PFN_vkCmdSetViewport vkCmdSetViewport
Definition: vulkan.hpp:41912
DisplaySurfaceCreateInfoKHR & setAlphaMode(DisplayPlaneAlphaFlagBitsKHR alphaMode_)
Definition: vulkan.hpp:23600
PipelineTessellationStateCreateInfo & operator=(VkPipelineTessellationStateCreateInfo const &rhs)
Definition: vulkan.hpp:9555
Definition: vulkan_core.h:1114
Definition: vulkan_core.h:4553
PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT
Definition: vulkan.hpp:41888
bool operator<(Semaphore const &rhs) const
Definition: vulkan.hpp:3649
Definition: vulkan_core.h:2462
bool operator==(Rect2D const &rhs) const
Definition: vulkan.hpp:5097
ImageBlit & operator=(VkImageBlit const &rhs)
Definition: vulkan.hpp:20239
bool operator!=(ImageViewCreateInfo const &rhs) const
Definition: vulkan.hpp:20127
void writeBufferMarkerAMD(PipelineStageFlagBits pipelineStage, Buffer dstBuffer, DeviceSize dstOffset, uint32_t marker, Dispatch const &d=Dispatch()) const
const AttachmentReference * pResolveAttachments
Definition: vulkan.hpp:28488
const PipelineViewportStateCreateInfo * pViewportState
Definition: vulkan.hpp:22095
ClearAttachment & setColorAttachment(uint32_t colorAttachment_)
Definition: vulkan.hpp:20483
Definition: vulkan_core.h:657
VULKAN_HPP_CONSTEXPR Instance(std::nullptr_t)
Definition: vulkan.hpp:37481
Extent2D maxSampleLocationGridSize
Definition: vulkan.hpp:15051
bool operator==(CopyDescriptorSet const &rhs) const
Definition: vulkan.hpp:9108
ImageViewCreateInfo(VkImageViewCreateInfo const &rhs)
Definition: vulkan.hpp:20058
StructureType sType
Definition: vulkan.hpp:27506
Definition: vulkan_core.h:649
bool operator!=(DisplayKHR const &rhs) const
Definition: vulkan.hpp:4385
void vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT *pSampleLocationsInfo) const
Definition: vulkan.hpp:1365
uint32_t vgprsPerSimd
Definition: vulkan.hpp:15805
VkFlags VkPeerMemoryFeatureFlags
Definition: vulkan_core.h:3767
bool operator==(PhysicalDeviceMemoryProperties const &rhs) const
Definition: vulkan.hpp:17713
bool operator!=(IndirectCommandsTokenNVX const &rhs) const
Definition: vulkan.hpp:24598
PipelineTessellationStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9560
Result createPipelineLayout(const PipelineLayoutCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, PipelineLayout *pPipelineLayout, Dispatch const &d=Dispatch()) const
bool operator!=(ExternalMemoryProperties const &rhs) const
Definition: vulkan.hpp:26099
PhysicalDeviceFeatures & setShaderTessellationAndGeometryPointSize(Bool32 shaderTessellationAndGeometryPointSize_)
Definition: vulkan.hpp:5980
Semaphore semaphore
Definition: vulkan.hpp:26447
UniqueHandle & operator=(UniqueHandle const &)=delete
static wiiu_event_list events
Definition: wiiu_hid.c:20
VkResult(VKAPI_PTR * PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices)
Definition: vulkan_core.h:2723
UniqueHandle< SwapchainKHR > UniqueSwapchainKHR
Definition: vulkan.hpp:31321
DescriptorPool descriptorPool
Definition: vulkan.hpp:9372
int32_t minTexelGatherOffset
Definition: vulkan.hpp:22303
VULKAN_HPP_INLINE CullModeFlags operator~(CullModeFlagBits bits)
Definition: vulkan.hpp:7643
Flags(Flags< BitType > const &rhs)
Definition: vulkan.hpp:125
VkResult(VKAPI_PTR * PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets)
Definition: vulkan_core.h:2799
uint32_t firstInstance
Definition: vulkan.hpp:6447
void * pNext
Definition: vulkan.hpp:11952
const AttachmentDescription * pAttachments
Definition: vulkan.hpp:28596
VkResult(VKAPI_PTR * PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR *pPresentInfo)
Definition: vulkan_core.h:4759
PhysicalDeviceFeatures & setOcclusionQueryPrecise(Bool32 occlusionQueryPrecise_)
Definition: vulkan.hpp:5956
void vkSubmitDebugUtilsMessageEXT(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData) const
Definition: vulkan.hpp:2313
Flags< SurfaceCounterFlagBitsEXT, VkSurfaceCounterFlagsEXT > SurfaceCounterFlagsEXT
Definition: vulkan.hpp:27269
PFN_vkBindBufferMemory vkBindBufferMemory
Definition: vulkan.hpp:41848
StructureType sType
Definition: vulkan.hpp:24015
DisplaySurfaceCreateInfoKHR & setDisplayMode(DisplayModeKHR displayMode_)
Definition: vulkan.hpp:23570
VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks *pAllocator)
VULKAN_HPP_CONSTEXPR Queue()
Definition: vulkan.hpp:31060
bool operator!=(SparseImageFormatProperties2 const &rhs) const
Definition: vulkan.hpp:20843
Definition: vulkan_core.h:4678
Result createValidationCacheEXT(const ValidationCacheCreateInfoEXT *pCreateInfo, const AllocationCallbacks *pAllocator, ValidationCacheEXT *pValidationCache, Dispatch const &d=Dispatch()) const
bool operator==(ExternalMemoryBufferCreateInfo const &rhs) const
Definition: vulkan.hpp:25640
Definition: vulkan_core.h:590
void destroy(const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
VkFlags VkDebugUtilsMessageTypeFlagsEXT
Definition: vulkan_core.h:6840
GLsizeiptr size
Definition: glext.h:6559
ClearColorValue(const std::array< int32_t, 4 > &int32_)
Definition: vulkan.hpp:5620
BindBufferMemoryInfo(VkBindBufferMemoryInfo const &rhs)
Definition: vulkan.hpp:12878
VULKAN_HPP_TYPESAFE_EXPLICIT Fence(VkFence fence)
Definition: vulkan.hpp:3554
void(VKAPI_PTR * PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo)
Definition: vulkan_core.h:6906
const void * pNext
Definition: vulkan.hpp:17074
Definition: vulkan_core.h:613
VkFlags VkCommandPoolTrimFlags
Definition: vulkan_core.h:3775
SurfaceTransformFlagsKHR supportedTransforms
Definition: vulkan.hpp:27329
void * pNext
Definition: vulkan.hpp:14513
AttachmentSampleLocationsEXT & setSampleLocationsInfo(SampleLocationsInfoEXT sampleLocationsInfo_)
Definition: vulkan.hpp:22636
Definition: vulkan_core.h:4197
VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
PFN_vkDestroyFence vkDestroyFence
Definition: vulkan.hpp:41993
DescriptorSetVariableDescriptorCountAllocateInfoEXT & operator=(VkDescriptorSetVariableDescriptorCountAllocateInfoEXT const &rhs)
Definition: vulkan.hpp:16123
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
Definition: vulkan_win32.h:94
InvalidExternalHandleError(std::string const &message)
Definition: vulkan.hpp:775
PipelineColorBlendStateCreateInfo & operator=(VkPipelineColorBlendStateCreateInfo const &rhs)
Definition: vulkan.hpp:19051
uint32_t attachment
Definition: vulkan.hpp:7248
uint32_t dependencyCount
Definition: vulkan.hpp:12860
PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT
Definition: vulkan.hpp:41980
Definition: vulkan_core.h:4020
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(VkDevice device, const VkImportFenceWin32HandleInfoKHR *pImportFenceWin32HandleInfo)
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes)
Definition: vulkan_core.h:4623
void * pNext
Definition: vulkan.hpp:27052
uint32_t maxPerStageUpdateAfterBindResources
Definition: vulkan.hpp:16098
CmdProcessCommandsInfoNVX & setIndirectCommandsLayout(IndirectCommandsLayoutNVX indirectCommandsLayout_)
Definition: vulkan.hpp:37331
bool operator!=(BindSparseInfo const &rhs) const
Definition: vulkan.hpp:21372
const uint32_t * pDeviceMasks
Definition: vulkan.hpp:27828
PipelineRasterizationStateCreateInfo & setDepthBiasConstantFactor(float depthBiasConstantFactor_)
Definition: vulkan.hpp:9772
const void * pNext
Definition: vulkan.hpp:9600
void updateDescriptorSetWithTemplateKHR(DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData, Dispatch const &d=Dispatch()) const
PipelineRasterizationConservativeStateCreateInfoEXT & setConservativeRasterizationMode(ConservativeRasterizationModeEXT conservativeRasterizationMode_)
Definition: vulkan.hpp:29401
Definition: vulkan_core.h:506
Definition: vulkan_core.h:2676
Flags< BitType > operator &(Flags< BitType > const &rhs) const
Definition: vulkan.hpp:166
PhysicalDeviceFeatures & setShaderStorageImageWriteWithoutFormat(Bool32 shaderStorageImageWriteWithoutFormat_)
Definition: vulkan.hpp:6010
GLuint GLsizei const GLuint const GLintptr * offsets
Definition: glsym_gl.h:634
Definition: vulkan_core.h:950
VkResult vkMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void **ppData) const
Definition: vulkan.hpp:2221
Flags< ColorComponentFlagBits, VkColorComponentFlags > ColorComponentFlags
Definition: vulkan.hpp:18909
const void * pNext
Definition: vulkan.hpp:8907
Definition: vulkan_core.h:494
ObjectTableIndexBufferEntryNVX & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:25168
ImageCreateInfo & setInitialLayout(ImageLayout initialLayout_)
Definition: vulkan.hpp:21745
PhysicalDeviceFeatures & setVertexPipelineStoresAndAtomics(Bool32 vertexPipelineStoresAndAtomics_)
Definition: vulkan.hpp:5968
void debugMarkerEndEXT(Dispatch const &d=Dispatch()) const
float maxFrameAverageLightLevel
Definition: vulkan.hpp:13793
PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT
Definition: vulkan.hpp:42163
Definition: vulkan_core.h:7161
Bool32 robustBufferAccessUpdateAfterBind
Definition: vulkan.hpp:16090
VULKAN_HPP_INLINE std::string to_string(Result value)
Definition: vulkan.hpp:551
ExportMemoryAllocateInfoNV(ExternalMemoryHandleTypeFlagsNV handleTypes_=ExternalMemoryHandleTypeFlagsNV())
Definition: vulkan.hpp:24173
RectLayerKHR & setOffset(Offset2D offset_)
Definition: vulkan.hpp:6627
Definition: vulkan_core.h:900
Definition: vulkan_core.h:1196
StructureType sType
Definition: vulkan.hpp:15449
PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT
Definition: vulkan.hpp:42147
uint32_t specVersion
Definition: vulkan.hpp:5192
uint32_t imageOpaqueBindCount
Definition: vulkan.hpp:21386
bool operator!=(ExternalBufferProperties const &rhs) const
Definition: vulkan.hpp:26156
uint32_t apiVersion
Definition: vulkan.hpp:22365
Definition: vulkan_core.h:6700
const PipelineStageFlags * pWaitDstStageMask
Definition: vulkan.hpp:31049
VULKAN_HPP_CONSTEXPR SurfaceKHR()
Definition: vulkan.hpp:4488
uint32_t vendorID
Definition: vulkan.hpp:22367
ClassType & get()
Definition: vulkan.hpp:480
const void * pNext
Definition: vulkan.hpp:26803
bool operator!=(AttachmentReference const &rhs) const
Definition: vulkan.hpp:7243
Definition: vulkan_core.h:6255
ApplicationInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:8607
uint32_t maxPerStageDescriptorSamplers
Definition: vulkan.hpp:22245
VkResult vkCreateSharedSwapchainsKHR(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchains) const
Definition: vulkan.hpp:1557
PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR
Definition: vulkan.hpp:41893
bool operator!=(ImageSubresourceLayers const &rhs) const
Definition: vulkan.hpp:19838
FenceCreateFlagBits
Definition: vulkan.hpp:19134
PipelineRasterizationStateCreateInfo & setPolygonMode(PolygonMode polygonMode_)
Definition: vulkan.hpp:9748
PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool
Definition: vulkan.hpp:41987
Buffer buffer
Definition: vulkan.hpp:25200
void * pNext
Definition: vulkan.hpp:12310
Definition: vulkan_core.h:7091
Definition: vulkan_core.h:545
const void * pNext
Definition: vulkan.hpp:28084
SparseImageMemoryBind(ImageSubresource subresource_=ImageSubresource(), Offset3D offset_=Offset3D(), Extent3D extent_=Extent3D(), DeviceMemory memory_=DeviceMemory(), DeviceSize memoryOffset_=0, SparseMemoryBindFlags flags_=SparseMemoryBindFlags())
Definition: vulkan.hpp:20994
VULKAN_HPP_CONSTEXPR DescriptorPool()
Definition: vulkan.hpp:3479
const void * pNext
Definition: vulkan.hpp:9020
void vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2 *pQueueInfo, VkQueue *pQueue) const
Definition: vulkan.hpp:1849
Definition: vulkan_core.h:5418
Definition: vulkan_core.h:554
PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR
Definition: vulkan.hpp:41962
ObjectTableCreateInfoNVX & setPObjectEntryCounts(const uint32_t *pObjectEntryCounts_)
Definition: vulkan.hpp:24812
SpecializationMapEntry(VkSpecializationMapEntry const &rhs)
Definition: vulkan.hpp:5493
Rect2D(VkRect2D const &rhs)
Definition: vulkan.hpp:5070
bool operator!=(BufferMemoryBarrier const &rhs) const
Definition: vulkan.hpp:17960
VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve *pRegions)
BufferCreateInfo & setSharingMode(SharingMode sharingMode_)
Definition: vulkan.hpp:18087
Definition: vulkan_core.h:1526
Definition: vulkan_core.h:1169
Definition: vulkan_core.h:6835
ImageCreateInfo & setTiling(ImageTiling tiling_)
Definition: vulkan.hpp:21715
ImageUsageFlags supportedUsageFlags
Definition: vulkan.hpp:27332
Definition: vulkan_core.h:1468
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV *pViewportWScalings)
Definition: vulkan_core.h:5765
bool operator==(ImageBlit const &rhs) const
Definition: vulkan.hpp:20273
VkDebugUtilsMessageSeverityFlagBitsEXT
Definition: vulkan_core.h:6825
ShaderModuleCreateFlags flags
Definition: vulkan.hpp:9299
VkResult(VKAPI_PTR * PFN_vkEnumerateInstanceLayerProperties)(uint32_t *pPropertyCount, VkLayerProperties *pProperties)
Definition: vulkan_core.h:2736
StencilOpState front
Definition: vulkan.hpp:9971
const void * pNext
Definition: vulkan.hpp:18636
Bool32 shaderStorageTexelBufferArrayNonUniformIndexing
Definition: vulkan.hpp:16024
void vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport *pViewports) const
Definition: vulkan.hpp:1385
Result enumerateDeviceLayerProperties(uint32_t *pPropertyCount, LayerProperties *pProperties, Dispatch const &d=Dispatch()) const
PushConstantRange & setStageFlags(ShaderStageFlags stageFlags_)
Definition: vulkan.hpp:18361
DeviceSize size
Definition: vulkan.hpp:5329
ImageSubresourceRange subresourceRange
Definition: vulkan.hpp:20142
VULKAN_HPP_TYPESAFE_EXPLICIT BufferView(VkBufferView bufferView)
Definition: vulkan.hpp:2884
ObjectTableIndexBufferEntryNVX & setType(ObjectEntryTypeNVX type_)
Definition: vulkan.hpp:25156
bool operator==(FormatProperties2 const &rhs) const
Definition: vulkan.hpp:19303
CmdReserveSpaceForCommandsInfoNVX(ObjectTableNVX objectTable_=ObjectTableNVX(), IndirectCommandsLayoutNVX indirectCommandsLayout_=IndirectCommandsLayoutNVX(), uint32_t maxSequencesCount_=0)
Definition: vulkan.hpp:11831
Definition: vulkan_core.h:1596
PresentRegionKHR(uint32_t rectangleCount_=0, const RectLayerKHR *pRectangles_=nullptr)
Definition: vulkan.hpp:6670
void(VKAPI_PTR * PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:4756
PFN_vkCmdBindPipeline vkCmdBindPipeline
Definition: vulkan.hpp:41859
PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR
Definition: vulkan.hpp:42011
bool operator==(ValidationCacheCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:15260
Definition: vulkan_core.h:937
VkFlags VkCommandPoolResetFlags
Definition: vulkan_core.h:1585
Definition: vulkan_core.h:553
const void * pNext
Definition: vulkan.hpp:27569
ImportFenceFdInfoKHR & setHandleType(ExternalFenceHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:27220
VkResult(VKAPI_PTR * PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_xcb.h:45
SamplerCreateInfo & setMinFilter(Filter minFilter_)
Definition: vulkan.hpp:10101
Definition: vulkan.hpp:12869
void dispatch(uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d=Dispatch()) const
Definition: vulkan_win32.h:80
bool operator==(Device const &rhs) const
Definition: vulkan.hpp:31355
VkResult(VKAPI_PTR * PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR *pDeviceGroupPresentCapabilities)
Definition: vulkan_core.h:4760
bool operator==(PhysicalDeviceMemoryProperties2 const &rhs) const
Definition: vulkan.hpp:17740
RenderPass renderPass
Definition: vulkan.hpp:19532
Definition: vulkan_core.h:1021
DescriptorSetLayout & operator=(std::nullptr_t)
Definition: vulkan.hpp:3432
Definition: vulkan_core.h:1551
VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo)
Definition: vulkan_core.h:1472
SystemError(int ev, std::error_category const &ecat)
Definition: vulkan.hpp:653
bool operator==(PushConstantRange const &rhs) const
Definition: vulkan.hpp:18384
bool operator!=(ObjectTableNVX const &rhs) const
Definition: vulkan.hpp:4046
VkResult vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayPropertiesKHR *pProperties) const
Definition: vulkan.hpp:1959
DeviceCreateInfo(DeviceCreateFlags flags_=DeviceCreateFlags(), uint32_t queueCreateInfoCount_=0, const DeviceQueueCreateInfo *pQueueCreateInfos_=nullptr, uint32_t enabledLayerCount_=0, const char *const *ppEnabledLayerNames_=nullptr, uint32_t enabledExtensionCount_=0, const char *const *ppEnabledExtensionNames_=nullptr, const PhysicalDeviceFeatures *pEnabledFeatures_=nullptr)
Definition: vulkan.hpp:17414
ImageUsageFlagBits
Definition: vulkan.hpp:18526
SamplerCreateFlagBits
Definition: vulkan.hpp:2374
Definition: vulkan_core.h:1315
void destroyDescriptorPool(DescriptorPool descriptorPool, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
DrawIndexedIndirectCommand & setFirstIndex(uint32_t firstIndex_)
Definition: vulkan.hpp:6406
CmdReserveSpaceForCommandsInfoNVX & operator=(VkCmdReserveSpaceForCommandsInfoNVX const &rhs)
Definition: vulkan.hpp:11843
InstanceCreateInfo & setPpEnabledExtensionNames(const char *const *ppEnabledExtensionNames_)
Definition: vulkan.hpp:8735
DebugUtilsLabelEXT & operator=(VkDebugUtilsLabelEXT const &rhs)
Definition: vulkan.hpp:15470
ShaderModule module
Definition: vulkan.hpp:18336
ComputePipelineCreateInfo & setFlags(PipelineCreateFlags flags_)
Definition: vulkan.hpp:18837
Definition: vulkan_core.h:4549
SparseImageMemoryBind & operator=(VkSparseImageMemoryBind const &rhs)
Definition: vulkan.hpp:21009
uint32_t attachmentInitialSampleLocationsCount
Definition: vulkan.hpp:22789
VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)
Definition: vulkan_core.h:1576
CommandBufferInheritanceInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:19463
StructureType sType
Definition: vulkan.hpp:20623
bool operator!=(Buffer const &rhs) const
Definition: vulkan.hpp:2840
Flags< ImageAspectFlagBits, VkImageAspectFlags > ImageAspectFlags
Definition: vulkan.hpp:19701
VkResult(VKAPI_PTR * PFN_vkSetEvent)(VkDevice device, VkEvent event)
Definition: vulkan_core.h:2766
RenderPassInputAttachmentAspectCreateInfo & operator=(VkRenderPassInputAttachmentAspectCreateInfo const &rhs)
Definition: vulkan.hpp:20581
VkResult vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const
Definition: vulkan.hpp:2277
bool operator!=(Viewport const &rhs) const
Definition: vulkan.hpp:5048
void vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const
Definition: vulkan.hpp:1341
bool operator==(PhysicalDeviceMaintenance3Properties const &rhs) const
Definition: vulkan.hpp:15347
MappedMemoryRange(VkMappedMemoryRange const &rhs)
Definition: vulkan.hpp:8850
QueryPipelineStatisticFlagBits
Definition: vulkan.hpp:19406
void endRenderPass(Dispatch const &d=Dispatch()) const
ObjectTableDescriptorSetEntryNVX & setDescriptorSet(DescriptorSet descriptorSet_)
Definition: vulkan.hpp:25045
PastPresentationTimingGOOGLE & setEarliestPresentTime(uint64_t earliestPresentTime_)
Definition: vulkan.hpp:6851
bool operator==(ComputePipelineCreateInfo const &rhs) const
Definition: vulkan.hpp:18872
MemoryMapFailedError(std::string const &message)
Definition: vulkan.hpp:703
ImageSubresourceRange & setLayerCount(uint32_t layerCount_)
Definition: vulkan.hpp:19895
VkResult(VKAPI_PTR * PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_wayland.h:45
bool operator!() const
Definition: vulkan.hpp:37771
uint32_t bindCount
Definition: vulkan.hpp:21254
uint32_t vertexAttributeDescriptionCount
Definition: vulkan.hpp:9464
DescriptorUpdateTemplateCreateInfo & operator=(VkDescriptorUpdateTemplateCreateInfo const &rhs)
Definition: vulkan.hpp:16775
void(VKAPI_PTR * PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData)
Definition: vulkan_core.h:5393
const PipelineVertexInputStateCreateInfo * pVertexInputState
Definition: vulkan.hpp:22092
const char *const * ppEnabledLayerNames
Definition: vulkan.hpp:17523
CopyDescriptorSet & setDstBinding(uint32_t dstBinding_)
Definition: vulkan.hpp:9085
PipelineColorBlendAttachmentState(Bool32 blendEnable_=0, BlendFactor srcColorBlendFactor_=BlendFactor::eZero, BlendFactor dstColorBlendFactor_=BlendFactor::eZero, BlendOp colorBlendOp_=BlendOp::eAdd, BlendFactor srcAlphaBlendFactor_=BlendFactor::eZero, BlendFactor dstAlphaBlendFactor_=BlendFactor::eZero, BlendOp alphaBlendOp_=BlendOp::eAdd, ColorComponentFlags colorWriteMask_=ColorComponentFlags())
Definition: vulkan.hpp:18931
OutOfHostMemoryError(std::string const &message)
Definition: vulkan.hpp:671
Definition: vulkan_core.h:957
Definition: vulkan_core.h:603
Definition: vulkan_core.h:485
VULKAN_HPP_TYPESAFE_EXPLICIT PipelineCache(VkPipelineCache pipelineCache)
Definition: vulkan.hpp:3956
VkFramebuffer m_framebuffer
Definition: vulkan.hpp:3873
Definition: vulkan_core.h:4671
bool operator==(PresentInfoKHR const &rhs) const
Definition: vulkan.hpp:16629
uint32_t writeMask
Definition: vulkan.hpp:7843
VKAPI_ATTR void VKAPI_CALL vkDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks *pAllocator)
VkResult(VKAPI_PTR * PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos)
Definition: vulkan_core.h:4359
RefType * m_ptr
Definition: vulkan.hpp:248
VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes)
void vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1631
VkBool32(VKAPI_PTR * PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection *connection)
Definition: vulkan_mir.h:46
DeviceQueueCreateInfo(VkDeviceQueueCreateInfo const &rhs)
Definition: vulkan.hpp:17340
DeviceSize maxMemoryAllocationSize
Definition: vulkan.hpp:15366
Result getQueryPoolResults(QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, DeviceSize stride, QueryResultFlags flags, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:23367
uint32_t maxVertexInputBindingStride
Definition: vulkan.hpp:22263
StructureType sType
Definition: vulkan.hpp:10041
Definition: vulkan_core.h:1039
PipelineViewportWScalingStateCreateInfoNV & operator=(VkPipelineViewportWScalingStateCreateInfoNV const &rhs)
Definition: vulkan.hpp:14007
bool operator==(PhysicalDeviceMultiviewProperties const &rhs) const
Definition: vulkan.hpp:12742
VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D *pGranularity)
PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport
Definition: vulkan.hpp:42034
ImageSubresourceLayers & setMipLevel(uint32_t mipLevel_)
Definition: vulkan.hpp:19807
PipelineViewportStateCreateInfo & operator=(VkPipelineViewportStateCreateInfo const &rhs)
Definition: vulkan.hpp:9622
GLint reference
Definition: glext.h:12636
BufferViewCreateInfo & setFormat(Format format_)
Definition: vulkan.hpp:9180
float maxDepth
Definition: vulkan.hpp:5058
Bool32 persistentContent
Definition: vulkan.hpp:23530
ObjectType objectType
Definition: vulkan.hpp:17075
Flags< BitType > & operator=(Flags< BitType > const &rhs)
Definition: vulkan.hpp:135
Definition: vulkan_core.h:170
Definition: vulkan_core.h:591
uint32_t combinedImageSamplerDescriptorCount
Definition: vulkan.hpp:14725
PipelineMultisampleStateCreateFlags flags
Definition: vulkan.hpp:21900
FeatureNotPresentError(std::string const &message)
Definition: vulkan.hpp:727
AcquireNextImageInfoKHR(VkAcquireNextImageInfoKHR const &rhs)
Definition: vulkan.hpp:13599
SamplerYcbcrModelConversion
Definition: vulkan.hpp:28769
bool operator==(SparseImageMemoryBindInfo const &rhs) const
Definition: vulkan.hpp:21241
DisplaySurfaceCreateInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:23558
void(VKAPI_PTR * PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
Definition: vulkan_core.h:5611
int memcmp(const void *s1, const void *s2, unsigned int length)
Definition: compat_ctype.c:51
VertexInputBindingDescription & setStride(uint32_t stride_)
Definition: vulkan.hpp:7922
const void * pNext
Definition: vulkan.hpp:24410
RenderPassCreateFlagBits
Definition: vulkan.hpp:2368
uint32_t queueFamilyIndex
Definition: vulkan.hpp:21524
PipelineShaderStageCreateInfo & setPSpecializationInfo(const SpecializationInfo *pSpecializationInfo_)
Definition: vulkan.hpp:18302
int32_t messageIdNumber
Definition: vulkan.hpp:17208
VULKAN_HPP_CONSTEXPR Event(std::nullptr_t)
Definition: vulkan.hpp:3684
PFN_vkCreateImage vkCreateImage
Definition: vulkan.hpp:41941
Bool32 shaderStorageBufferArrayDynamicIndexing
Definition: vulkan.hpp:6252
Definition: vulkan_core.h:5787
VULKAN_HPP_TYPESAFE_EXPLICIT Event(VkEvent event)
Definition: vulkan.hpp:3688
VkResult vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *pImageIndex) const
Definition: vulkan.hpp:1103
DeviceGroupDeviceCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:38349
bool operator==(Flags< BitType > const &rhs) const
Definition: vulkan.hpp:192
uint64_t object
Definition: vulkan.hpp:23931
bool operator!=(MemoryType const &rhs) const
Definition: vulkan.hpp:17646
bool operator==(PhysicalDeviceVariablePointerFeatures const &rhs) const
Definition: vulkan.hpp:12119
DispatchIndirectCommand & setZ(uint32_t z_)
Definition: vulkan.hpp:6482
ExportMemoryAllocateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:24188
BufferUsageFlagBits
Definition: vulkan.hpp:17980
DeviceCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:17436
VkResult(VKAPI_PTR * PFN_vkCreateIOSSurfaceMVK)(VkInstance instance, const VkIOSSurfaceCreateInfoMVK *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_ios.h:44
Bool32 blendEnable
Definition: vulkan.hpp:19023
PipelineCoverageToColorStateCreateFlagsNV flags
Definition: vulkan.hpp:14991
const SubpassDescription * pSubpasses
Definition: vulkan.hpp:28598
StructureType sType
Definition: vulkan.hpp:15392
VkBool32(VKAPI_PTR * PFN_vkDebugUtilsMessengerCallbackEXT)(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData)
Definition: vulkan_core.h:6882
PipelineShaderStageCreateInfo(PipelineShaderStageCreateFlags flags_=PipelineShaderStageCreateFlags(), ShaderStageFlagBits stage_=ShaderStageFlagBits::eVertex, ShaderModule module_=ShaderModule(), const char *pName_=nullptr, const SpecializationInfo *pSpecializationInfo_=nullptr)
Definition: vulkan.hpp:18253
Flags< PipelineShaderStageCreateFlagBits, VkPipelineShaderStageCreateFlags > PipelineShaderStageCreateFlags
Definition: vulkan.hpp:2450
uint32_t stride
Definition: vulkan.hpp:7952
VULKAN_HPP_TYPESAFE_EXPLICIT Sampler(VkSampler sampler)
Definition: vulkan.hpp:3286
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties)
Definition: vulkan_core.h:5010
PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements
Definition: vulkan.hpp:42056
void * pNext
Definition: vulkan.hpp:12171
void processCommandsNVX(const CmdProcessCommandsInfoNVX *pProcessCommandsInfo, Dispatch const &d=Dispatch()) const
DescriptorSet dstSet
Definition: vulkan.hpp:9134
void * pNext
Definition: vulkan.hpp:37454
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(VkDevice device, const VkSamplerCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSampler *pSampler)
bool operator!=(ExternalSemaphoreProperties const &rhs) const
Definition: vulkan.hpp:26498
void vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void *pData) const
Definition: vulkan.hpp:1313
float pointSizeGranularity
Definition: vulkan.hpp:22330
StencilOpState back
Definition: vulkan.hpp:9972
Definition: vulkan_core.h:4595
Definition: vulkan_core.h:960
DebugUtilsMessengerCreateInfoEXT & setMessageType(DebugUtilsMessageTypeFlagsEXT messageType_)
Definition: vulkan.hpp:29311
uint32_t bufferBindCount
Definition: vulkan.hpp:21384
PipelineViewportWScalingStateCreateInfoNV(Bool32 viewportWScalingEnable_=0, uint32_t viewportCount_=0, const ViewportWScalingNV *pViewportWScalings_=nullptr)
Definition: vulkan.hpp:13995
PolygonMode
Definition: vulkan.hpp:7620
uint32_t apiVersion
Definition: vulkan.hpp:8673
DispatchIndirectCommand & setY(uint32_t y_)
Definition: vulkan.hpp:6476
Definition: vulkan_core.h:4550
bool operator!=(ObjectTableVertexBufferEntryNVX const &rhs) const
Definition: vulkan.hpp:25125
Bool32 standardSampleLocations
Definition: vulkan.hpp:22333
Definition: vulkan_core.h:759
uint32_t tokenCount
Definition: vulkan.hpp:24755
DescriptorBufferInfo(Buffer buffer_=Buffer(), DeviceSize offset_=0, DeviceSize range_=0)
Definition: vulkan.hpp:5337
AttachmentReference & operator=(VkAttachmentReference const &rhs)
Definition: vulkan.hpp:7215
PFN_vkCreateSemaphore vkCreateSemaphore
Definition: vulkan.hpp:41959
PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp
Definition: vulkan.hpp:41917
Definition: vulkan.hpp:27519
PhysicalDevicePushDescriptorPropertiesKHR & operator=(VkPhysicalDevicePushDescriptorPropertiesKHR const &rhs)
Definition: vulkan.hpp:11971
uint32_t maxSampledImagesPerDescriptor
Definition: vulkan.hpp:24891
const void * pNext
Definition: vulkan.hpp:9460
PipelineLayoutCreateInfo & setPushConstantRangeCount(uint32_t pushConstantRangeCount_)
Definition: vulkan.hpp:18447
CommandBufferUsageFlagBits
Definition: vulkan.hpp:19379
PipelineColorBlendStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:19056
bool operator!=(PipelineCoverageToColorStateCreateInfoNV const &rhs) const
Definition: vulkan.hpp:14981
DrawIndexedIndirectCommand & setIndexCount(uint32_t indexCount_)
Definition: vulkan.hpp:6394
StructureType sType
Definition: vulkan.hpp:23926
Instance & operator=(std::nullptr_t)
Definition: vulkan.hpp:37497
const struct retro_game_info * info
Definition: libretro.h:2121
DescriptorSetLayoutCreateFlagBits
Definition: vulkan.hpp:25274
Definition: vulkan_core.h:991
PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout
Definition: vulkan.hpp:42059
StructureType sType
Definition: vulkan.hpp:11323
ImagePlaneMemoryRequirementsInfo(VkImagePlaneMemoryRequirementsInfo const &rhs)
Definition: vulkan.hpp:20698
PhysicalDevice16BitStorageFeatures & operator=(VkPhysicalDevice16BitStorageFeatures const &rhs)
Definition: vulkan.hpp:14219
ComputePipelineCreateInfo(PipelineCreateFlags flags_=PipelineCreateFlags(), PipelineShaderStageCreateInfo stage_=PipelineShaderStageCreateInfo(), PipelineLayout layout_=PipelineLayout(), Pipeline basePipelineHandle_=Pipeline(), int32_t basePipelineIndex_=0)
Definition: vulkan.hpp:18812
Bool32 imageCubeArray
Definition: vulkan.hpp:6219
PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE
Definition: vulkan.hpp:42076
SemaphoreCreateFlags flags
Definition: vulkan.hpp:10511
GLdouble GLdouble z
Definition: glext.h:6514
const void * pNext
Definition: vulkan.hpp:24752
void clearDepthStencilImage(Image image, ImageLayout imageLayout, const ClearDepthStencilValue *pDepthStencil, uint32_t rangeCount, const ImageSubresourceRange *pRanges, Dispatch const &d=Dispatch()) const
PhysicalDeviceDescriptorIndexingFeaturesEXT(VkPhysicalDeviceDescriptorIndexingFeaturesEXT const &rhs)
Definition: vulkan.hpp:15838
Definition: vulkan_core.h:3864
StructureType sType
Definition: vulkan.hpp:12932
PhysicalDeviceFeatures features
Definition: vulkan.hpp:11953
Definition: vulkan_core.h:1349
Definition: vulkan_core.h:592
const uint32_t * pDescriptorCounts
Definition: vulkan.hpp:16170
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr
Definition: vulkan.hpp:42060
bool operator<(DisplayKHR const &rhs) const
Definition: vulkan.hpp:4390
bool operator==(DebugReportCallbackEXT const &rhs) const
Definition: vulkan.hpp:4648
ArrayProxy(std::array< typename std::remove_const< T >::type, N > const &data)
Definition: vulkan.hpp:278
GraphicsPipelineCreateInfo & setPStages(const PipelineShaderStageCreateInfo *pStages_)
Definition: vulkan.hpp:21961
PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds
Definition: vulkan.hpp:41901
Definition: vulkan_core.h:4580
const void * pNext
Definition: vulkan.hpp:13391
PhysicalDeviceFeatures & setDrawIndirectFirstInstance(Bool32 drawIndirectFirstInstance_)
Definition: vulkan.hpp:5878
ClearRect & operator=(VkClearRect const &rhs)
Definition: vulkan.hpp:5127
DebugUtilsObjectNameInfoEXT & setObjectHandle(uint64_t objectHandle_)
Definition: vulkan.hpp:16950
AcquireNextImageInfoKHR & setTimeout(uint64_t timeout_)
Definition: vulkan.hpp:13621
Definition: vulkan_core.h:698
StructureType sType
Definition: vulkan.hpp:12307
VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device, const struct AHardwareBuffer *buffer, VkAndroidHardwareBufferPropertiesANDROID *pProperties)
Bool32 quadOperationsInAllStages
Definition: vulkan.hpp:24479
HdrMetadataEXT & setWhitePoint(XYColorEXT whitePoint_)
Definition: vulkan.hpp:13727
PipelineViewportStateCreateInfo(VkPipelineViewportStateCreateInfo const &rhs)
Definition: vulkan.hpp:9617
void vkCmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers) const
Definition: vulkan.hpp:1297
BufferMemoryBarrier(VkBufferMemoryBarrier const &rhs)
Definition: vulkan.hpp:17884
bool operator==(Buffer const &rhs) const
Definition: vulkan.hpp:2835
VkResult vkCreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate) const
Definition: vulkan.hpp:1447
void(VKAPI_PTR * PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2743
Definition: vulkan_core.h:967
PhysicalDeviceImageFormatInfo2(VkPhysicalDeviceImageFormatInfo2 const &rhs)
Definition: vulkan.hpp:18697
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMacOSSurfaceMVK(VkInstance instance, const VkMacOSSurfaceCreateInfoMVK *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
uint32_t dependencyCount
Definition: vulkan.hpp:28599
Definition: vulkan_core.h:497
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo, VkExternalSemaphoreProperties *pExternalSemaphoreProperties)
Definition: vulkan_core.h:4383
Definition: vulkan_core.h:1261
bool operator!=(BufferImageCopy const &rhs) const
Definition: vulkan.hpp:20366
const void * pNext
Definition: vulkan.hpp:27826
Bool32 fragmentStoresAndAtomics
Definition: vulkan.hpp:6243
SubpassContents
Definition: vulkan.hpp:16554
PipelineRasterizationConservativeStateCreateInfoEXT(VkPipelineRasterizationConservativeStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:29379
bool operator!=(BufferMemoryRequirementsInfo2 const &rhs) const
Definition: vulkan.hpp:14329
void linkAndCopy(StructureChain const &rhs)
Definition: vulkan.hpp:499
ResultValueType< UniqueFramebuffer >::type createFramebufferUnique(const FramebufferCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
ImageSubresource(VkImageSubresource const &rhs)
Definition: vulkan.hpp:19730
DescriptorPoolSize(DescriptorType type_=DescriptorType::eSampler, uint32_t descriptorCount_=0)
Definition: vulkan.hpp:7393
void nextSubpass(SubpassContents contents, Dispatch const &d=Dispatch()) const
const void * pNext
Definition: vulkan.hpp:22604
bool operator==(DisplayPlanePropertiesKHR const &rhs) const
Definition: vulkan.hpp:6518
Bool32 supportsTextureGatherLODBiasAMD
Definition: vulkan.hpp:14755
ClearValue & setDepthStencil(ClearDepthStencilValue depthStencil_)
Definition: vulkan.hpp:5727
Bool32 shaderInputAttachmentArrayNonUniformIndexingNative
Definition: vulkan.hpp:16089
Bool32 requiresDedicatedAllocation
Definition: vulkan.hpp:14515
PipelineTessellationStateCreateFlags flags
Definition: vulkan.hpp:9601
ClearColorValue & setUint32(std::array< uint32_t, 4 > uint32_)
Definition: vulkan.hpp:5642
GLsizei const GLchar *const * string
Definition: glext.h:6699
BindImageMemoryInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:13029
DeviceQueueCreateFlags flags
Definition: vulkan.hpp:17597
PhysicalDeviceImageFormatInfo2(Format format_=Format::eUndefined, ImageType type_=ImageType::e1D, ImageTiling tiling_=ImageTiling::eOptimal, ImageUsageFlags usage_=ImageUsageFlags(), ImageCreateFlags flags_=ImageCreateFlags())
Definition: vulkan.hpp:18688
bool operator!=(ProtectedSubmitInfo const &rhs) const
Definition: vulkan.hpp:14800
DrawIndexedIndirectCommand & setInstanceCount(uint32_t instanceCount_)
Definition: vulkan.hpp:6400
StructureType sType
Definition: vulkan.hpp:15047
bool operator==(PresentTimesInfoGOOGLE const &rhs) const
Definition: vulkan.hpp:13838
Offset2D & setX(int32_t x_)
Definition: vulkan.hpp:4771
void(VKAPI_PTR * PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy *pRegions)
Definition: vulkan_core.h:2836
ViewportSwizzleNV(VkViewportSwizzleNV const &rhs)
Definition: vulkan.hpp:28126
Definition: vulkan_core.h:174
PhysicalDeviceFeatures & setShaderUniformBufferArrayDynamicIndexing(Bool32 shaderUniformBufferArrayDynamicIndexing_)
Definition: vulkan.hpp:6016
bool operator==(ValidationFlagsEXT const &rhs) const
Definition: vulkan.hpp:24393
Flags< IndirectCommandsLayoutUsageFlagBitsNVX, VkIndirectCommandsLayoutUsageFlagsNVX > IndirectCommandsLayoutUsageFlagsNVX
Definition: vulkan.hpp:24491
Result getRefreshCycleDurationGOOGLE(SwapchainKHR swapchain, RefreshCycleDurationGOOGLE *pDisplayTimingProperties, Dispatch const &d=Dispatch()) const
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR *pImportFenceFdInfo)
PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR
Definition: vulkan.hpp:41961
bool operator==(MemoryHeap const &rhs) const
Definition: vulkan.hpp:17690
VkDescriptorSetLayout m_descriptorSetLayout
Definition: vulkan.hpp:3471
DedicatedAllocationBufferCreateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:11404
void(VKAPI_PTR * PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies)
Definition: vulkan_core.h:2800
Definition: vulkan_core.h:1987
DisplayModeCreateInfoKHR(DisplayModeCreateFlagsKHR flags_=DisplayModeCreateFlagsKHR(), DisplayModeParametersKHR parameters_=DisplayModeParametersKHR())
Definition: vulkan.hpp:10626
FramebufferCreateInfo(FramebufferCreateFlags flags_=FramebufferCreateFlags(), RenderPass renderPass_=RenderPass(), uint32_t attachmentCount_=0, const ImageView *pAttachments_=nullptr, uint32_t width_=0, uint32_t height_=0, uint32_t layers_=0)
Definition: vulkan.hpp:10517
ValidationCacheCreateInfoEXT(ValidationCacheCreateFlagsEXT flags_=ValidationCacheCreateFlagsEXT(), size_t initialDataSize_=0, const void *pInitialData_=nullptr)
Definition: vulkan.hpp:15214
PhysicalDeviceSamplerYcbcrConversionFeatures & operator=(VkPhysicalDeviceSamplerYcbcrConversionFeatures const &rhs)
Definition: vulkan.hpp:14656
VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSetLayout(VkDescriptorSetLayout descriptorSetLayout)
Definition: vulkan.hpp:3420
PipelineMultisampleStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:21824
VULKAN_HPP_TYPESAFE_EXPLICIT QueryPool(VkQueryPool queryPool)
Definition: vulkan.hpp:3755
Result createDescriptorUpdateTemplate(const DescriptorUpdateTemplateCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, DescriptorUpdateTemplate *pDescriptorUpdateTemplate, Dispatch const &d=Dispatch()) const
PipelineRasterizationStateCreateFlagBits
Definition: vulkan.hpp:2416
DisplayEventInfoEXT(VkDisplayEventInfoEXT const &rhs)
Definition: vulkan.hpp:27526
PFN_vkCreateComputePipelines vkCreateComputePipelines
Definition: vulkan.hpp:41924
DedicatedAllocationMemoryAllocateInfoNV(VkDedicatedAllocationMemoryAllocateInfoNV const &rhs)
Definition: vulkan.hpp:11450
VkDevice m_device
Definition: vulkan.hpp:32735
Definition: vulkan_android.h:100
const void * pNext
Definition: vulkan.hpp:13670
DebugUtilsObjectTagInfoEXT(ObjectType objectType_=ObjectType::eUnknown, uint64_t objectHandle_=0, uint64_t tagName_=0, size_t tagSize_=0, const void *pTag_=nullptr)
Definition: vulkan.hpp:16994
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties)
Definition: vulkan_core.h:1200
VkResult(VKAPI_PTR * PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_win32.h:45
bool operator==(CommandBuffer const &rhs) const
Definition: vulkan.hpp:29660
bool operator!() const
Definition: vulkan.hpp:32729
VULKAN_HPP_CONSTEXPR DisplayKHR(std::nullptr_t)
Definition: vulkan.hpp:4358
VkResult vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos) const
Definition: vulkan.hpp:1145
PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass
Definition: vulkan.hpp:41856
bool operator==(PhysicalDeviceProperties2 const &rhs) const
Definition: vulkan.hpp:22384
VkFlags VkDescriptorPoolResetFlags
Definition: vulkan_core.h:1521
DescriptorSet dstSet
Definition: vulkan.hpp:9021
Definition: vulkan_core.h:583
StructureType sType
Definition: vulkan.hpp:28696
Definition: vulkan_core.h:130
GraphicsPipelineCreateInfo & setSubpass(uint32_t subpass_)
Definition: vulkan.hpp:22033
void setDeviceMask(uint32_t deviceMask, Dispatch const &d=Dispatch()) const
bool operator!=(PipelineSampleLocationsStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:22845
PhysicalDeviceFeatures2(VkPhysicalDeviceFeatures2 const &rhs)
Definition: vulkan.hpp:11909
const ApplicationInfo * pApplicationInfo
Definition: vulkan.hpp:8769
VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks *pAllocator)
bool operator!=(MemoryAllocateInfo const &rhs) const
Definition: vulkan.hpp:8826
Fence fence
Definition: vulkan.hpp:27257
ImportMemoryHostPointerInfoEXT & setPHostPointer(void *pHostPointer_)
Definition: vulkan.hpp:26019
uint32_t maxDescriptorSetSamplers
Definition: vulkan.hpp:22252
Definition: vulkan_core.h:1467
SamplerAddressMode addressModeW
Definition: vulkan.hpp:10228
VULKAN_HPP_CONSTEXPR SwapchainKHR(std::nullptr_t)
Definition: vulkan.hpp:4559
VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
Bool32 sparseResidencyAliased
Definition: vulkan.hpp:6269
CommandPoolCreateInfo & setFlags(CommandPoolCreateFlags flags_)
Definition: vulkan.hpp:21488
PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV
Definition: vulkan.hpp:41913
PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR
Definition: vulkan.hpp:41875
ExternalMemoryImageCreateInfo & setHandleTypes(ExternalMemoryHandleTypeFlags handleTypes_)
Definition: vulkan.hpp:25572
ShaderModuleValidationCacheCreateInfoEXT(ValidationCacheEXT validationCache_=ValidationCacheEXT())
Definition: vulkan.hpp:15287
Bool32 forceExplicitReconstruction
Definition: vulkan.hpp:28913
uint32_t physicalDeviceCount
Definition: vulkan.hpp:38390
XYColorEXT(VkXYColorEXT const &rhs)
Definition: vulkan.hpp:6727
CompareOp compareOp
Definition: vulkan.hpp:10233
static RpcConnection Instance
Definition: rpc_connection.cpp:7
Definition: vulkan_core.h:5768
VkResult(VKAPI_PTR * PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate)
Definition: vulkan_core.h:5391
PhysicalDeviceFeatures & setShaderClipDistance(Bool32 shaderClipDistance_)
Definition: vulkan.hpp:6040
ImageViewCreateInfo & setFlags(ImageViewCreateFlags flags_)
Definition: vulkan.hpp:20074
BufferViewCreateFlagBits
Definition: vulkan.hpp:2452
VULKAN_HPP_TYPESAFE_EXPLICIT ShaderModule(VkShaderModule shaderModule)
Definition: vulkan.hpp:3085
void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties) const
Definition: vulkan.hpp:2089
Definition: vulkan_core.h:995
StructureType sType
Definition: vulkan.hpp:27253
void vkSetHdrMetadataEXT(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR *pSwapchains, const VkHdrMetadataEXT *pMetadata) const
Definition: vulkan.hpp:2309
DeviceGroupBindSparseInfo(uint32_t resourceDeviceIndex_=0, uint32_t memoryDeviceIndex_=0)
Definition: vulkan.hpp:13405
PipelineRasterizationStateCreateInfo & setDepthBiasSlopeFactor(float depthBiasSlopeFactor_)
Definition: vulkan.hpp:9784
void getProperties(PhysicalDeviceProperties *pProperties, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:5746
SamplerCreateInfo & setAddressModeU(SamplerAddressMode addressModeU_)
Definition: vulkan.hpp:10113
ExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan.hpp:25468
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
bool operator==(PipelineVertexInputStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9440
BufferCreateInfo & setUsage(BufferUsageFlags usage_)
Definition: vulkan.hpp:18081
VULKAN_HPP_CONSTEXPR Buffer(std::nullptr_t)
Definition: vulkan.hpp:2813
bool operator!=(PhysicalDeviceSamplerFilterMinmaxPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15012
Definition: vulkan_core.h:127
void destroyPipeline(Pipeline pipeline, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
VULKAN_HPP_CONSTEXPR Image()
Definition: vulkan.hpp:2943
bool operator!=(PastPresentationTimingGOOGLE const &rhs) const
Definition: vulkan.hpp:6877
Definition: vulkan_core.h:1608
VkResult(VKAPI_PTR * PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR *pImportSemaphoreWin32HandleInfo)
Definition: vulkan_win32.h:167
const void * pNext
Definition: vulkan.hpp:17969
Definition: vulkan_core.h:2194
PhysicalDeviceFeatures & setTextureCompressionBC(Bool32 textureCompressionBC_)
Definition: vulkan.hpp:5950
AccessFlags srcAccessMask
Definition: vulkan.hpp:17866
SparseImageMemoryBind & setSubresource(ImageSubresource subresource_)
Definition: vulkan.hpp:21014
Definition: vulkan_core.h:1017
bool operator!=(DisplayPowerInfoEXT const &rhs) const
Definition: vulkan.hpp:27440
Definition: vulkan_core.h:7152
ViewportCoordinateSwizzleNV
Definition: vulkan.hpp:28104
Definition: vulkan_core.h:1485
Flags< CommandBufferUsageFlagBits, VkCommandBufferUsageFlags > CommandBufferUsageFlags
Definition: vulkan.hpp:19386
VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t *pInfoSize, void *pInfo)
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)
Bool32 wideLines
Definition: vulkan.hpp:6232
ObjectTablePushConstantEntryNVX(VkObjectTablePushConstantEntryNVX const &rhs)
Definition: vulkan.hpp:25215
PipelineLayout pipelineLayout
Definition: vulkan.hpp:25071
Definition: vulkan_core.h:2087
VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment *pAttachments, uint32_t rectCount, const VkClearRect *pRects)
Result getGroupPresentCapabilitiesKHR(DeviceGroupPresentCapabilitiesKHR *pDeviceGroupPresentCapabilities, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:22851
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection *connection)
Definition: vulkan_core.h:148
Buffer buffer
Definition: vulkan.hpp:12936
bool operator!=(ShaderResourceUsageAMD const &rhs) const
Definition: vulkan.hpp:7059
ViewportWScalingNV(float xcoeff_=0, float ycoeff_=0)
Definition: vulkan.hpp:6943
Definition: vulkan_core.h:1115
ShaderModule & operator=(std::nullptr_t)
Definition: vulkan.hpp:3097
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR *pAcquireInfo, uint32_t *pImageIndex)
PipelineVertexInputStateCreateInfo & setVertexBindingDescriptionCount(uint32_t vertexBindingDescriptionCount_)
Definition: vulkan.hpp:9411
ClearValue(ClearDepthStencilValue depthStencil_)
Definition: vulkan.hpp:5716
FormatNotSupportedError(std::string const &message)
Definition: vulkan.hpp:751
ImageLayout
Definition: vulkan.hpp:7123
VULKAN_HPP_CONSTEXPR DisplayKHR()
Definition: vulkan.hpp:4354
SwapchainCreateInfoKHR & setImageExtent(Extent2D imageExtent_)
Definition: vulkan.hpp:27982
ImportMemoryFdInfoKHR(ExternalMemoryHandleTypeFlagBits handleType_=ExternalMemoryHandleTypeFlagBits::eOpaqueFd, int fd_=0)
Definition: vulkan.hpp:25863
Definition: vulkan_core.h:1893
PipelineRasterizationStateCreateInfo & setCullMode(CullModeFlags cullMode_)
Definition: vulkan.hpp:9754
Definition: vulkan_core.h:464
VkResult vkRegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT *pDeviceEventInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence) const
Definition: vulkan.hpp:2261
Definition: vulkan_core.h:6502
ImageSubresourceRange & operator=(VkImageSubresourceRange const &rhs)
Definition: vulkan.hpp:19866
CoverageModulationModeNV coverageModulationMode
Definition: vulkan.hpp:29135
ImagePlaneMemoryRequirementsInfo & setPlaneAspect(ImageAspectFlagBits planeAspect_)
Definition: vulkan.hpp:20714
void vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1619
Result getSurfaceSupportKHR(uint32_t queueFamilyIndex, SurfaceKHR surface, Bool32 *pSupported, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:522
Extent2D currentExtent
Definition: vulkan.hpp:27325
PhysicalDeviceProtectedMemoryFeatures(Bool32 protectedMemory_=0)
Definition: vulkan.hpp:14816
VkFormat
Definition: vulkan_core.h:480
PipelineMultisampleStateCreateInfo(PipelineMultisampleStateCreateFlags flags_=PipelineMultisampleStateCreateFlags(), SampleCountFlagBits rasterizationSamples_=SampleCountFlagBits::e1, Bool32 sampleShadingEnable_=0, float minSampleShading_=0, const SampleMask *pSampleMask_=nullptr, Bool32 alphaToCoverageEnable_=0, Bool32 alphaToOneEnable_=0)
Definition: vulkan.hpp:21803
PushConstantRange & setSize(uint32_t size_)
Definition: vulkan.hpp:18373
Extent3D imageExtent
Definition: vulkan.hpp:20376
Result
Definition: vulkan.hpp:516
SparseImageMemoryBind & setFlags(SparseMemoryBindFlags flags_)
Definition: vulkan.hpp:21044
float depthBiasConstantFactor
Definition: vulkan.hpp:9835
PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR
Definition: vulkan.hpp:42077
DeviceSize size
Definition: vulkan.hpp:17976
AccessFlags srcAccessMask
Definition: vulkan.hpp:17970
void vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy *pRegions) const
Definition: vulkan.hpp:1205
SamplerAddressMode addressModeV
Definition: vulkan.hpp:10227
void * pNext
Definition: vulkan.hpp:17298
Definition: vulkan_core.h:2391
Definition: vulkan_core.h:1071
SampleLocationsInfoEXT & setSampleLocationsPerPixel(SampleCountFlagBits sampleLocationsPerPixel_)
Definition: vulkan.hpp:22556
ArrayProxy(T &ptr)
Definition: vulkan.hpp:261
VkResult vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t *pDataSize, void *pData) const
Definition: vulkan.hpp:2145
PhysicalDeviceDiscardRectanglePropertiesEXT(VkPhysicalDeviceDiscardRectanglePropertiesEXT const &rhs)
Definition: vulkan.hpp:14073
bool operator==(SpecializationMapEntry const &rhs) const
Definition: vulkan.hpp:5526
Definition: vulkan_core.h:3682
ExternalMemoryImageCreateInfoNV(VkExternalMemoryImageCreateInfoNV const &rhs)
Definition: vulkan.hpp:24123
AllocationCallbacks(void *pUserData_=nullptr, PFN_vkAllocationFunction pfnAllocation_=nullptr, PFN_vkReallocationFunction pfnReallocation_=nullptr, PFN_vkFreeFunction pfnFree_=nullptr, PFN_vkInternalAllocationNotification pfnInternalAllocation_=nullptr, PFN_vkInternalFreeNotification pfnInternalFree_=nullptr)
Definition: vulkan.hpp:5225
Definition: vulkan_core.h:1967
void freeMemory(DeviceMemory memory, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
bool operator!=(PresentTimeGOOGLE const &rhs) const
Definition: vulkan.hpp:6931
VkClearDepthStencilValue depthStencil
Definition: vulkan.hpp:5743
PipelineViewportSwizzleStateCreateInfoNV & setViewportCount(uint32_t viewportCount_)
Definition: vulkan.hpp:28216
Definition: vulkan_core.h:918
CmdProcessCommandsInfoNVX & setObjectTable(ObjectTableNVX objectTable_)
Definition: vulkan.hpp:37325
bool operator!=(PipelineColorBlendAdvancedStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29027
Definition: vulkan_android.h:75
BindBufferMemoryInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:12888
IndirectCommandsLayoutCreateInfoNVX & operator=(VkIndirectCommandsLayoutCreateInfoNVX const &rhs)
Definition: vulkan.hpp:24693
PipelineVertexInputDivisorStateCreateInfoEXT(uint32_t vertexBindingDivisorCount_=0, const VertexInputBindingDivisorDescriptionEXT *pVertexBindingDivisors_=nullptr)
Definition: vulkan.hpp:16204
ShaderStageFlagBits stage
Definition: vulkan.hpp:18335
VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineLayout *pPipelineLayout)
RenderPassInputAttachmentAspectCreateInfo(VkRenderPassInputAttachmentAspectCreateInfo const &rhs)
Definition: vulkan.hpp:20576
PhysicalDeviceImageFormatInfo2 & setUsage(ImageUsageFlags usage_)
Definition: vulkan.hpp:18731
const void * pNext
Definition: vulkan.hpp:9688
BlendFactor dstColorBlendFactor
Definition: vulkan.hpp:19025
MappedMemoryRange(DeviceMemory memory_=DeviceMemory(), DeviceSize offset_=0, DeviceSize size_=0)
Definition: vulkan.hpp:8843
TooManyObjectsError(char const *message)
Definition: vulkan.hpp:745
BlendFactor srcAlphaBlendFactor
Definition: vulkan.hpp:19027
StructureType sType
Definition: vulkan.hpp:16647
StructureType sType
Definition: vulkan.hpp:10393
const Rect2D * pDiscardRectangles
Definition: vulkan.hpp:28342
StructureType sType
Definition: vulkan.hpp:11949
Flags< DebugUtilsMessengerCreateFlagBitsEXT, VkDebugUtilsMessengerCreateFlagsEXT > DebugUtilsMessengerCreateFlagsEXT
Definition: vulkan.hpp:2658
Result createBuffer(const BufferCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Buffer *pBuffer, Dispatch const &d=Dispatch()) const
MemoryBarrier & setSrcAccessMask(AccessFlags srcAccessMask_)
Definition: vulkan.hpp:17831
Definition: ffmpeg_core.c:110
VULKAN_HPP_CONSTEXPR Fence()
Definition: vulkan.hpp:3546
Bool32 clipped
Definition: vulkan.hpp:28099
ArrayProxy(std::vector< typename std::remove_const< T >::type, Allocator > &data)
Definition: vulkan.hpp:284
SampleCountFlags sampledImageDepthSampleCounts
Definition: vulkan.hpp:22318
Definition: vulkan_core.h:877
Filter chromaFilter
Definition: vulkan.hpp:28912
PipelineRasterizationStateRasterizationOrderAMD(VkPipelineRasterizationStateRasterizationOrderAMD const &rhs)
Definition: vulkan.hpp:24040
Definition: vulkan_core.h:2313
SamplerYcbcrModelConversion ycbcrModel
Definition: vulkan.hpp:28907
Definition: vulkan_core.h:701
void(VKAPI_PTR * PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
Definition: vulkan_core.h:2823
Definition: vulkan_core.h:4317
uint64_t tagName
Definition: vulkan.hpp:24021
bool operator==(DeviceGeneratedCommandsFeaturesNVX const &rhs) const
Definition: vulkan.hpp:11717
void(VKAPI_PTR * PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes)
Definition: vulkan_core.h:2748
Result presentKHR(const PresentInfoKHR *pPresentInfo, Dispatch const &d=Dispatch()) const
FenceCreateInfo(VkFenceCreateInfo const &rhs)
Definition: vulkan.hpp:19166
bool operator==(PipelineTessellationDomainOriginStateCreateInfo const &rhs) const
Definition: vulkan.hpp:28746
bool operator!=(PhysicalDeviceExternalImageFormatInfo const &rhs) const
Definition: vulkan.hpp:25458
IndirectCommandsLayoutCreateInfoNVX(VkIndirectCommandsLayoutCreateInfoNVX const &rhs)
Definition: vulkan.hpp:24688
Definition: vulkan_core.h:4139
VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresentInfo)
StructureType sType
Definition: vulkan.hpp:21896
ObjectTableVertexBufferEntryNVX & setType(ObjectEntryTypeNVX type_)
Definition: vulkan.hpp:25095
const void * pNext
Definition: vulkan.hpp:13294
Definition: vulkan_core.h:588
Definition: vulkan.hpp:27182
ResultValueType< UniqueFence >::type createFenceUnique(const FenceCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
bool operator!=(PipelineMultisampleStateCreateInfo const &rhs) const
Definition: vulkan.hpp:21890
Definition: vulkan.hpp:4485
VkResult(VKAPI_PTR * PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineCache *pPipelineCache)
Definition: vulkan_core.h:2782
BufferCreateInfo & operator=(VkBufferCreateInfo const &rhs)
Definition: vulkan.hpp:18058
Definition: vulkan_core.h:3966
bool operator==(DisplayModePropertiesKHR const &rhs) const
Definition: vulkan.hpp:6592
Definition: vulkan_core.h:927
bool operator!() const
Definition: vulkan.hpp:3197
PresentRegionsKHR(uint32_t swapchainCount_=0, const PresentRegionKHR *pRegions_=nullptr)
Definition: vulkan.hpp:12016
bool operator<(IndirectCommandsLayoutNVX const &rhs) const
Definition: vulkan.hpp:4118
ExternalMemoryBufferCreateInfo(VkExternalMemoryBufferCreateInfo const &rhs)
Definition: vulkan.hpp:25613
void destroySwapchainKHR(SwapchainKHR swapchain, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan.hpp:2806
XYColorEXT displayPrimaryGreen
Definition: vulkan.hpp:13787
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties)
Definition: vulkan_core.h:4381
Bool32 descriptorBindingVariableDescriptorCount
Definition: vulkan.hpp:16033
VkInstance m_instance
Definition: vulkan.hpp:37777
Definition: vulkan_core.h:2621
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT *pMultisampleProperties)
ResultValueType< UniqueSwapchainKHR >::type createSharedSwapchainKHRUnique(const SwapchainCreateInfoKHR &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
uint32_t applicationVersion
Definition: vulkan.hpp:8670
VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator)
ResultValueType< UniqueDescriptorSetLayout >::type createDescriptorSetLayoutUnique(const DescriptorSetLayoutCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
ObjectEntryTypeNVX type
Definition: vulkan.hpp:25001
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Public address Setting disk in tray You have left the game You have joined with input devices *s *s has joined as player u A netplay connection attempt failed because the peer is not running or is running an old version of RetroArch use the same version use the same version This core does not support inter architecture netplay Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Scan Content Import content Ask Block Frames نظام تشغيل الصوت Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control الصوت Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Cheat File Load Cheat File Cheat Passes Hardcore Mode Achievement Badges Locked Test Unofficial Achievements Unlocked Verbose Mode Config ملفات التكوين Collections Content Allow to remove entries Downloads Cheats Show core name Authors Core label Permissions System manufacturer Controls Options Start a Core Automatically Buildbot Cores URL Updater CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download Core DPI Override Enable أنظمة التشغيل Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Limit Maximum Run Speed Frontend Counters Create game options file مساعدة Changing Virtual Gamepad Overlay مساعدة Scanning For Content History List Enable Horizontal Menu معلومات Analog To Digital Type Left Analog X Left analog Left Analog Y Left analog Y(down)") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X
VkResult vkGetRefreshCycleDurationGOOGLE(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE *pDisplayTimingProperties) const
Definition: vulkan.hpp:2159
Definition: vulkan_core.h:566
VkResult vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo *pBeginInfo) const
Definition: vulkan.hpp:1125
DescriptorUpdateTemplateCreateInfo & setPDescriptorUpdateEntries(const DescriptorUpdateTemplateEntry *pDescriptorUpdateEntries_)
Definition: vulkan.hpp:16798
Optional< const AllocationCallbacks > m_allocator
Definition: vulkan.hpp:1069
void(VKAPI_PTR * PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
Definition: vulkan_core.h:4365
Definition: vulkan_core.h:2171
MemoryGetFdInfoKHR(VkMemoryGetFdInfoKHR const &rhs)
Definition: vulkan.hpp:25933
Definition: vulkan_core.h:7038
const void * pNext
Definition: vulkan.hpp:25983
ImageFormatListCreateInfoKHR & setPViewFormats(const Format *pViewFormats_)
Definition: vulkan.hpp:15178
void setStencilCompareMask(StencilFaceFlags faceMask, uint32_t compareMask, Dispatch const &d=Dispatch()) const
SparseImageMemoryBind & setMemory(DeviceMemory memory_)
Definition: vulkan.hpp:21032
PFN_vkSetEvent vkSetEvent
Definition: vulkan.hpp:42178
StructureType sType
Definition: vulkan.hpp:26162
Definition: vulkan_core.h:6038
Definition: vulkan_core.h:2516
void(VKAPI_PTR * PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2733
DeviceSize arrayPitch
Definition: vulkan.hpp:5419
Definition: vulkan_core.h:6535
ImportMemoryHostPointerInfoEXT & setHandleType(ExternalMemoryHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:26013
ViewportCoordinateSwizzleNV x
Definition: vulkan.hpp:28178
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties)
CopyDescriptorSet & setSrcBinding(uint32_t srcBinding_)
Definition: vulkan.hpp:9067
uint32_t scissorCount
Definition: vulkan.hpp:9692
Definition: vulkan_core.h:1010
SparseImageMemoryBind & setMemoryOffset(DeviceSize memoryOffset_)
Definition: vulkan.hpp:21038
Bool32 persistent
Definition: vulkan.hpp:10757
Result createQueryPool(const QueryPoolCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, QueryPool *pQueryPool, Dispatch const &d=Dispatch()) const
MemoryGetFdInfoKHR(DeviceMemory memory_=DeviceMemory(), ExternalMemoryHandleTypeFlagBits handleType_=ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
Definition: vulkan.hpp:25927
TooManyObjectsError(std::string const &message)
Definition: vulkan.hpp:743
PFN_vkCmdProcessCommandsNVX vkCmdProcessCommandsNVX
Definition: vulkan.hpp:41891
Definition: vulkan_core.h:5789
Definition: vulkan_core.h:6053
SwapchainKHR & operator=(std::nullptr_t)
Definition: vulkan.hpp:4575
uint32_t sgprsPerSimd
Definition: vulkan.hpp:15801
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures *pFeatures)
Definition: vulkan_core.h:2724
void destroyDescriptorUpdateTemplate(DescriptorUpdateTemplate descriptorUpdateTemplate, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:4825
void destroy(T t)
Definition: vulkan.hpp:1086
bool operator==(PhysicalDeviceMultiviewFeatures const &rhs) const
Definition: vulkan.hpp:12708
Definition: ibxm.h:9
PhysicalDeviceMultiviewFeatures & setMultiview(Bool32 multiview_)
Definition: vulkan.hpp:12685
Definition: vulkan_core.h:5205
VkResult(VKAPI_PTR * PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer *buffer, VkAndroidHardwareBufferPropertiesANDROID *pProperties)
Definition: vulkan_android.h:107
ResultValueType< UniqueCommandPool >::type createCommandPoolUnique(const CommandPoolCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
DescriptorUpdateTemplateType templateType
Definition: vulkan.hpp:16866
VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display *dpy, RROutput rrOutput, VkDisplayKHR *pDisplay)
void vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const
Definition: vulkan.hpp:1253
PushConstantRange(VkPushConstantRange const &rhs)
Definition: vulkan.hpp:18351
void(VKAPI_PTR * PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2796
Definition: vulkan.hpp:8586
PhysicalDeviceImageFormatInfo2 & setPNext(const void *pNext_)
Definition: vulkan.hpp:18707
void getMemoryCommitment(DeviceMemory memory, DeviceSize *pCommittedMemoryInBytes, Dispatch const &d=Dispatch()) const
PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR
Definition: vulkan.hpp:42037
BlendOverlapEXT
Definition: vulkan.hpp:28963
bool operator!=(DeviceGroupDeviceCreateInfo const &rhs) const
Definition: vulkan.hpp:38380
Definition: vulkan_core.h:770
ImportMemoryFdInfoKHR & setHandleType(ExternalMemoryHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:25885
Definition: vulkan_core.h:4733
Definition: vulkan_core.h:2365
DeviceQueueGlobalPriorityCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:29179
VkResult(VKAPI_PTR * PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_core.h:4899
QueueFlagBits
Definition: vulkan.hpp:17219
bool operator!=(CommandBufferBeginInfo const &rhs) const
Definition: vulkan.hpp:19590
Result createSwapchainKHR(const SwapchainCreateInfoKHR *pCreateInfo, const AllocationCallbacks *pAllocator, SwapchainKHR *pSwapchain, Dispatch const &d=Dispatch()) const
VkResult vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets) const
Definition: vulkan.hpp:1787
void vkCmdProcessCommandsNVX(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX *pProcessCommandsInfo) const
Definition: vulkan.hpp:1301
AllocationCallbacks(VkAllocationCallbacks const &rhs)
Definition: vulkan.hpp:5235
Definition: vulkan_core.h:1940
Definition: vulkan_core.h:4237
SamplerYcbcrConversionCreateInfo & setForceExplicitReconstruction(Bool32 forceExplicitReconstruction_)
Definition: vulkan.hpp:28871
ShaderModuleCreateInfo & operator=(VkShaderModuleCreateInfo const &rhs)
Definition: vulkan.hpp:9246
CommandPoolTrimFlagBits
Definition: vulkan.hpp:2616
VkResult(VKAPI_PTR * PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR *pGetFdInfo, int *pFd)
Definition: vulkan_core.h:5495
void(VKAPI_PTR * PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask)
Definition: vulkan_core.h:4361
Definition: vulkan_core.h:173
Definition: vulkan_core.h:768
Definition: vulkan_core.h:810
uint32_t maxDescriptorSetSampledImages
Definition: vulkan.hpp:22257
Result getShaderInfoAMD(Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, size_t *pInfoSize, void *pInfo, Dispatch const &d=Dispatch()) const
ChromaLocation yChromaOffset
Definition: vulkan.hpp:28911
Definition: vulkan_android.h:38
FenceGetFdInfoKHR & operator=(VkFenceGetFdInfoKHR const &rhs)
Definition: vulkan.hpp:26946
StructureType sType
Definition: vulkan.hpp:25596
SamplerYcbcrConversionInfo(SamplerYcbcrConversion conversion_=SamplerYcbcrConversion())
Definition: vulkan.hpp:14589
VkResult vkImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR *pImportSemaphoreFdInfo) const
Definition: vulkan.hpp:2207
Definition: vulkan_core.h:4054
Flags< DeviceGroupPresentModeFlagBitsKHR, VkDeviceGroupPresentModeFlagsKHR > DeviceGroupPresentModeFlagsKHR
Definition: vulkan.hpp:27710
VkBool32(VKAPI_PTR * PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t *connection, xcb_visualid_t visual_id)
Definition: vulkan_xcb.h:46
Definition: vulkan_core.h:3865
Definition: vulkan_ios.h:36
bool operator!=(SamplerYcbcrConversion const &rhs) const
Definition: vulkan.hpp:4249
VkResult vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const
Definition: vulkan.hpp:1129
Extent2D currentExtent
Definition: vulkan.hpp:23680
PipelineBindPoint
Definition: vulkan.hpp:7548
bool operator==(DescriptorSetLayoutBindingFlagsCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29512
SamplerYcbcrConversionCreateInfo & setYcbcrRange(SamplerYcbcrRange ycbcrRange_)
Definition: vulkan.hpp:28841
Definition: vulkan_core.h:839
PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR
Definition: vulkan.hpp:41932
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID *pInfo, struct AHardwareBuffer **pBuffer)
VULKAN_HPP_CONSTEXPR PipelineLayout()
Definition: vulkan.hpp:3211
Definition: vulkan_core.h:3872
RectLayerKHR & setExtent(Extent2D extent_)
Definition: vulkan.hpp:6633
PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD
Definition: vulkan.hpp:41880
Definition: vulkan_core.h:3711
uint32_t maxMultiviewViewCount
Definition: vulkan.hpp:12760
VkResult(VKAPI_PTR * PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSampler *pSampler)
Definition: vulkan_core.h:2791
const VertexInputBindingDescription * pVertexBindingDescriptions
Definition: vulkan.hpp:9463
Definition: vulkan_core.h:850
uint64_t refreshDuration
Definition: vulkan.hpp:6808
SemaphoreImportFlags flags
Definition: vulkan.hpp:26713
Definition: vulkan.hpp:10460
Definition: vulkan_core.h:4297
PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR
Definition: vulkan.hpp:42055
SamplerReductionModeCreateInfoEXT(SamplerReductionModeEXT reductionMode_=SamplerReductionModeEXT::eWeightedAverage)
Definition: vulkan.hpp:28651
StructureType sType
Definition: vulkan.hpp:27823
SampleLocationsInfoEXT & setSampleLocationsCount(uint32_t sampleLocationsCount_)
Definition: vulkan.hpp:22568
PhysicalDeviceFeatures & setMultiDrawIndirect(Bool32 multiDrawIndirect_)
Definition: vulkan.hpp:5872
ImageResolve & setDstSubresource(ImageSubresourceLayers dstSubresource_)
Definition: vulkan.hpp:20413
PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers
Definition: vulkan.hpp:41860
bool operator==(DebugUtilsObjectTagInfoEXT const &rhs) const
Definition: vulkan.hpp:17054
bool operator!=(ExportSemaphoreCreateInfo const &rhs) const
Definition: vulkan.hpp:26306
ImageViewUsageCreateInfo(ImageUsageFlags usage_=ImageUsageFlags())
Definition: vulkan.hpp:18588
uint64_t object
Definition: vulkan.hpp:24020
Definition: vulkan_core.h:4113
Definition: vulkan_core.h:6781
MappedMemoryRange & setOffset(DeviceSize offset_)
Definition: vulkan.hpp:8872
const void * pNext
Definition: vulkan.hpp:25713
ImageSubresourceLayers srcSubresource
Definition: vulkan.hpp:20286
HdrMetadataEXT & setDisplayPrimaryRed(XYColorEXT displayPrimaryRed_)
Definition: vulkan.hpp:13709
bool operator!=(SubpassSampleLocationsEXT const &rhs) const
Definition: vulkan.hpp:22704
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchains)
bool operator==(MemoryRequirements const &rhs) const
Definition: vulkan.hpp:5317
void vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy *pRegions) const
Definition: vulkan.hpp:1197
Type const * operator->() const
Definition: vulkan.hpp:384
FormatFeatureFlags bufferFeatures
Definition: vulkan.hpp:19292
Bool32 shaderFloat64
Definition: vulkan.hpp:6256
Definition: vulkan_core.h:3941
Definition: vulkan_core.h:6308
CmdReserveSpaceForCommandsInfoNVX & setObjectTable(ObjectTableNVX objectTable_)
Definition: vulkan.hpp:11854
SparseImageMemoryBindInfo & setPBinds(const SparseImageMemoryBind *pBinds_)
Definition: vulkan.hpp:21230
ObjectTablePipelineEntryNVX & setPipeline(Pipeline pipeline_)
Definition: vulkan.hpp:24978
Definition: vulkan_core.h:574
StructureType sType
Definition: vulkan.hpp:18330
char description[VK_MAX_DESCRIPTION_SIZE]
Definition: vulkan.hpp:5219
const void * pNext
Definition: vulkan.hpp:10510
void(VKAPI_PTR * PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
Definition: vulkan_core.h:2821
Definition: vulkan_core.h:5545
Definition: vulkan_core.h:2597
ResultValueType< UniqueDescriptorUpdateTemplate >::type createDescriptorUpdateTemplateKHRUnique(const DescriptorUpdateTemplateCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
DedicatedAllocationBufferCreateInfoNV(VkDedicatedAllocationBufferCreateInfoNV const &rhs)
Definition: vulkan.hpp:11394
void(VKAPI_PTR * PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void *pData)
Definition: vulkan_core.h:2838
bool operator==(DescriptorUpdateTemplateCreateInfo const &rhs) const
Definition: vulkan.hpp:16839
PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT
Definition: vulkan.hpp:41981
Definition: vulkan_core.h:1292
Result getSemaphoreFdKHR(const SemaphoreGetFdInfoKHR *pGetFdInfo, int *pFd, Dispatch const &d=Dispatch()) const
Filter magFilter
Definition: vulkan.hpp:10223
bool operator!=(Pipeline const &rhs) const
Definition: vulkan.hpp:3175
ShaderModuleValidationCacheCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:15302
ResultValueType< UniqueImage >::type createImageUnique(const ImageCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
uint32_t instanceCount
Definition: vulkan.hpp:6367
Definition: vulkan_core.h:2149
ViewportSwizzleNV(ViewportCoordinateSwizzleNV x_=ViewportCoordinateSwizzleNV::ePositiveX, ViewportCoordinateSwizzleNV y_=ViewportCoordinateSwizzleNV::ePositiveX, ViewportCoordinateSwizzleNV z_=ViewportCoordinateSwizzleNV::ePositiveX, ViewportCoordinateSwizzleNV w_=ViewportCoordinateSwizzleNV::ePositiveX)
Definition: vulkan.hpp:28118
Definition: vulkan_core.h:7019
VULKAN_HPP_CONSTEXPR RenderPass()
Definition: vulkan.hpp:3881
PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD
Definition: vulkan.hpp:42143
uint32_t objectCount
Definition: vulkan.hpp:24884
DescriptorSetLayoutBinding(VkDescriptorSetLayoutBinding const &rhs)
Definition: vulkan.hpp:18184
void vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties) const
Definition: vulkan.hpp:2085
BufferImageCopy & setBufferOffset(DeviceSize bufferOffset_)
Definition: vulkan.hpp:20315
bool operator!=(DeviceQueueInfo2 const &rhs) const
Definition: vulkan.hpp:17587
ImageFormatListCreateInfoKHR(VkImageFormatListCreateInfoKHR const &rhs)
Definition: vulkan.hpp:15156
Definition: vulkan_core.h:1063
VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE *pDisplayTimingProperties)
Definition: vulkan_core.h:6517
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:6303
Definition: vulkan_core.h:465
PFN_vkInternalFreeNotification pfnInternalFree
Definition: vulkan.hpp:5306
uint32_t commandBufferCount
Definition: vulkan.hpp:31050
DeviceSize memoryOffset
Definition: vulkan.hpp:20987
Bool32 storageBuffer16BitAccess
Definition: vulkan.hpp:14279
PhysicalDeviceFeatures & setShaderCullDistance(Bool32 shaderCullDistance_)
Definition: vulkan.hpp:6046
FragmentationEXTError(std::string const &message)
Definition: vulkan.hpp:831
BufferViewCreateInfo(BufferViewCreateFlags flags_=BufferViewCreateFlags(), Buffer buffer_=Buffer(), Format format_=Format::eUndefined, DeviceSize offset_=0, DeviceSize range_=0)
Definition: vulkan.hpp:9143
Definition: vulkan_core.h:577
PhysicalDeviceExternalFenceInfo & setHandleType(ExternalFenceHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:26776
DeviceQueueInfo2 & setFlags(DeviceQueueCreateFlags flags_)
Definition: vulkan.hpp:17555
Offset3D dstOffset
Definition: vulkan.hpp:20219
Definition: vulkan_core.h:5967
VkResult vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) const
Definition: vulkan.hpp:1747
MemoryAllocateFlagsInfo & setFlags(MemoryAllocateFlags flags_)
Definition: vulkan.hpp:27660
Definition: vulkan_core.h:1177
ObjectType objectType
Definition: vulkan.hpp:16986
Extent2D minDstExtent
Definition: vulkan.hpp:23435
SampleCountFlags framebufferStencilSampleCounts
Definition: vulkan.hpp:22313
Definition: vulkan_win32.h:150
Definition: vulkan_core.h:4879
SpecializationMapEntry(uint32_t constantID_=0, uint32_t offset_=0, size_t size_=0)
Definition: vulkan.hpp:5486
Definition: vulkan_core.h:913
uint32_t maxTessellationEvaluationOutputComponents
Definition: vulkan.hpp:22272
PhysicalDeviceShaderDrawParameterFeatures & setPNext(void *pNext_)
Definition: vulkan.hpp:15419
bool operator!=(MemoryFdPropertiesKHR const &rhs) const
Definition: vulkan.hpp:12301
SampleCountFlags sampleLocationSampleCounts
Definition: vulkan.hpp:22888
DeviceGroupBindSparseInfo(VkDeviceGroupBindSparseInfo const &rhs)
Definition: vulkan.hpp:13411
ViewportSwizzleNV & setX(ViewportCoordinateSwizzleNV x_)
Definition: vulkan.hpp:28136
PipelineLayout layout
Definition: vulkan.hpp:18895
PhysicalDeviceProtectedMemoryProperties & setProtectedNoFault(Bool32 protectedNoFault_)
Definition: vulkan.hpp:14892
Definition: vulkan_core.h:533
DeviceQueueInfo2 & setQueueIndex(uint32_t queueIndex_)
Definition: vulkan.hpp:17567
GLboolean GLboolean GLboolean b
Definition: glext.h:6844
Definition: vulkan_core.h:1204
Definition: vulkan_core.h:641
VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN(VkInstance instance, const VkViSurfaceCreateInfoNN *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
DeviceGroupDeviceCreateInfo & operator=(VkDeviceGroupDeviceCreateInfo const &rhs)
Definition: vulkan.hpp:38344
PipelineRasterizationConservativeStateCreateFlagsEXT flags
Definition: vulkan.hpp:29437
bool operator!=(DeviceMemory const &rhs) const
Definition: vulkan.hpp:2706
Definition: vulkan_core.h:1238
bool operator!() const
Definition: vulkan.hpp:3331
void vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const
Definition: vulkan.hpp:1241
VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion()
Definition: vulkan.hpp:4218
Buffer buffer
Definition: vulkan.hpp:25132
Definition: vulkan_core.h:1035
ImageSubresourceLayers dstSubresource
Definition: vulkan.hpp:20452
Definition: vulkan_core.h:983
float float32[4]
Definition: vulkan.hpp:5653
const Semaphore * pWaitSemaphores
Definition: vulkan.hpp:16652
PastPresentationTimingGOOGLE & setDesiredPresentTime(uint64_t desiredPresentTime_)
Definition: vulkan.hpp:6839
QueryType queryType
Definition: vulkan.hpp:19681
Definition: vulkan_core.h:1915
void beginDebugUtilsLabelEXT(const DebugUtilsLabelEXT *pLabelInfo, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:507
DisplaySurfaceCreateInfoKHR(DisplaySurfaceCreateFlagsKHR flags_=DisplaySurfaceCreateFlagsKHR(), DisplayModeKHR displayMode_=DisplayModeKHR(), uint32_t planeIndex_=0, uint32_t planeStackIndex_=0, SurfaceTransformFlagBitsKHR transform_=SurfaceTransformFlagBitsKHR::eIdentity, float globalAlpha_=0, DisplayPlaneAlphaFlagBitsKHR alphaMode_=DisplayPlaneAlphaFlagBitsKHR::eOpaque, Extent2D imageExtent_=Extent2D())
Definition: vulkan.hpp:23536
uint32_t maxImageDimension2D
Definition: vulkan.hpp:22232
Definition: vulkan_core.h:706
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo, VkExternalFenceProperties *pExternalFenceProperties)
void(VKAPI_PTR * PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:6908
bool operator!=(RenderPassCreateInfo const &rhs) const
Definition: vulkan.hpp:28584
bool operator!=(PhysicalDeviceProperties const &rhs) const
Definition: vulkan.hpp:22360
bool operator==(PipelineMultisampleStateCreateInfo const &rhs) const
Definition: vulkan.hpp:21877
Definition: vulkan_core.h:996
ClearRect(VkClearRect const &rhs)
Definition: vulkan.hpp:5122
Optional< const AllocationCallbacks > m_allocator
Definition: vulkan.hpp:1045
PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout
Definition: vulkan.hpp:41928
ShaderModuleCreateInfo(VkShaderModuleCreateInfo const &rhs)
Definition: vulkan.hpp:9241
VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences)
void vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const
Definition: vulkan.hpp:1401
PFN_vkResetDescriptorPool vkResetDescriptorPool
Definition: vulkan.hpp:42173
Definition: vulkan.hpp:19605
SubpassDescription & setPInputAttachments(const AttachmentReference *pInputAttachments_)
Definition: vulkan.hpp:28416
GraphicsPipelineCreateInfo & setPVertexInputState(const PipelineVertexInputStateCreateInfo *pVertexInputState_)
Definition: vulkan.hpp:21967
PipelineLayoutCreateInfo & setSetLayoutCount(uint32_t setLayoutCount_)
Definition: vulkan.hpp:18435
Definition: vulkan_core.h:7448
QueryPoolCreateInfo & setQueryCount(uint32_t queryCount_)
Definition: vulkan.hpp:19643
const void * pNext
Definition: vulkan.hpp:16742
Result createDescriptorUpdateTemplateKHR(const DescriptorUpdateTemplateCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, DescriptorUpdateTemplate *pDescriptorUpdateTemplate, Dispatch const &d=Dispatch()) const
bool operator!=(PresentRegionKHR const &rhs) const
Definition: vulkan.hpp:6709
Result createDisplayPlaneSurfaceKHR(const DisplaySurfaceCreateInfoKHR *pCreateInfo, const AllocationCallbacks *pAllocator, SurfaceKHR *pSurface, Dispatch const &d=Dispatch()) const
ImageAspectFlags aspectMask
Definition: vulkan.hpp:20562
bool operator==(SharedPresentSurfaceCapabilitiesKHR const &rhs) const
Definition: vulkan.hpp:18565
uint32_t constantID
Definition: vulkan.hpp:5538
bool operator==(PipelineLayout const &rhs) const
Definition: vulkan.hpp:3237
bool operator==(SubpassDescription const &rhs) const
Definition: vulkan.hpp:28463
Definition: vulkan_core.h:1306
Definition: vulkan_core.h:1484
GLuint GLuint GLsizei count
Definition: glext.h:6292
WriteDescriptorSet(VkWriteDescriptorSet const &rhs)
Definition: vulkan.hpp:8928
VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache *pSrcCaches)
Definition: vulkan_core.h:1437
Definition: vulkan_xlib.h:36
ResultValueType< void >::type releaseDisplayEXT(DisplayKHR display, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:556
uint32_t sampleLocationSubPixelBits
Definition: vulkan.hpp:22891
ResultValueType< UniqueShaderModule >::type createShaderModuleUnique(const ShaderModuleCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:782
PipelineDynamicStateCreateInfo(PipelineDynamicStateCreateFlags flags_=PipelineDynamicStateCreateFlags(), uint32_t dynamicStateCount_=0, const DynamicState *pDynamicStates_=nullptr)
Definition: vulkan.hpp:16678
Bool32 geometryShader
Definition: vulkan.hpp:6221
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pSwapchainImageCount, VkImage *pSwapchainImages)
Result getImageFormatProperties(Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags, ImageFormatProperties *pImageFormatProperties, Dispatch const &d=Dispatch()) const
PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT
Definition: vulkan.hpp:42168
VkBuffer m_buffer
Definition: vulkan.hpp:2868
PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties
Definition: vulkan.hpp:42079
SwapchainCreateInfoKHR & setFlags(SwapchainCreateFlagsKHR flags_)
Definition: vulkan.hpp:27952
DescriptorImageInfo(Sampler sampler_=Sampler(), ImageView imageView_=ImageView(), ImageLayout imageLayout_=ImageLayout::eUndefined)
Definition: vulkan.hpp:7144
StructureType sType
Definition: vulkan.hpp:28902
const PipelineRasterizationStateCreateInfo * pRasterizationState
Definition: vulkan.hpp:22096
typedef bool(RETRO_CALLCONV *retro_replace_image_index_t)(unsigned index
Definition: vulkan_core.h:1610
DeviceGroupSwapchainCreateInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:27850
uint64_t objectHandle
Definition: vulkan.hpp:16987
bool operator==(ViewportWScalingNV const &rhs) const
Definition: vulkan.hpp:6976
StructureType sType
Definition: vulkan.hpp:13782
Bool32 coverageModulationTableEnable
Definition: vulkan.hpp:29136
MemoryAllocateInfo & setAllocationSize(DeviceSize allocationSize_)
Definition: vulkan.hpp:8801
PhysicalDeviceFeatures & setLogicOp(Bool32 logicOp_)
Definition: vulkan.hpp:5866
ImportSemaphoreFdInfoKHR & setSemaphore(Semaphore semaphore_)
Definition: vulkan.hpp:26663
ExternalMemoryImageCreateInfo & operator=(VkExternalMemoryImageCreateInfo const &rhs)
Definition: vulkan.hpp:25561
CmdProcessCommandsInfoNVX & setPNext(const void *pNext_)
Definition: vulkan.hpp:37319
bool operator!=(CommandBuffer const &rhs) const
Definition: vulkan.hpp:29665
Definition: vulkan_core.h:1456
PFN_vkCmdReserveSpaceForCommandsNVX vkCmdReserveSpaceForCommandsNVX
Definition: vulkan.hpp:41895
uint32_t setLayoutCount
Definition: vulkan.hpp:18486
bool operator<(Device const &rhs) const
Definition: vulkan.hpp:31365
uint32_t bufferRowLength
Definition: vulkan.hpp:20372
ComponentMapping components
Definition: vulkan.hpp:20141
VkResult(VKAPI_PTR * PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
Definition: vulkan_win32.h:212
bool operator!=(SwapchainCounterCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:27378
void(VKAPI_PTR * PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements *pSparseMemoryRequirements)
Definition: vulkan_core.h:2753
Definition: vulkan.hpp:25925
uint32_t coverageToColorLocation
Definition: vulkan.hpp:14993
BindImagePlaneMemoryInfo(VkBindImagePlaneMemoryInfo const &rhs)
Definition: vulkan.hpp:20641
uint32_t minImageCount
Definition: vulkan.hpp:23678
AttachmentReference(VkAttachmentReference const &rhs)
Definition: vulkan.hpp:7210
uint32_t indexCount
Definition: vulkan.hpp:6443
BindImageMemoryDeviceGroupInfo & setPSplitInstanceBindRegions(const Rect2D *pSplitInstanceBindRegions_)
Definition: vulkan.hpp:13129
CompareOp compareOp
Definition: vulkan.hpp:7841
AttachmentStoreOp stencilStoreOp
Definition: vulkan.hpp:23029
Definition: vulkan_core.h:1342
Definition: vulkan_core.h:1552
uint32_t maxDescriptorSetStorageBuffersDynamic
Definition: vulkan.hpp:22256
InvalidShaderNVError(std::string const &message)
Definition: vulkan.hpp:823
Definition: vulkan_core.h:2123
BindImageMemoryDeviceGroupInfo(uint32_t deviceIndexCount_=0, const uint32_t *pDeviceIndices_=nullptr, uint32_t splitInstanceBindRegionCount_=0, const Rect2D *pSplitInstanceBindRegions_=nullptr)
Definition: vulkan.hpp:13087
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderUniformTexelBufferArrayNonUniformIndexing(Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_)
Definition: vulkan.hpp:15902
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
InputAttachmentAspectReference & operator=(VkInputAttachmentAspectReference const &rhs)
Definition: vulkan.hpp:20520
PhysicalDeviceDescriptorIndexingFeaturesEXT(Bool32 shaderInputAttachmentArrayDynamicIndexing_=0, Bool32 shaderUniformTexelBufferArrayDynamicIndexing_=0, Bool32 shaderStorageTexelBufferArrayDynamicIndexing_=0, Bool32 shaderUniformBufferArrayNonUniformIndexing_=0, Bool32 shaderSampledImageArrayNonUniformIndexing_=0, Bool32 shaderStorageBufferArrayNonUniformIndexing_=0, Bool32 shaderStorageImageArrayNonUniformIndexing_=0, Bool32 shaderInputAttachmentArrayNonUniformIndexing_=0, Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_=0, Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_=0, Bool32 descriptorBindingUniformBufferUpdateAfterBind_=0, Bool32 descriptorBindingSampledImageUpdateAfterBind_=0, Bool32 descriptorBindingStorageImageUpdateAfterBind_=0, Bool32 descriptorBindingStorageBufferUpdateAfterBind_=0, Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_=0, Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_=0, Bool32 descriptorBindingUpdateUnusedWhilePending_=0, Bool32 descriptorBindingPartiallyBound_=0, Bool32 descriptorBindingVariableDescriptorCount_=0, Bool32 runtimeDescriptorArray_=0)
Definition: vulkan.hpp:15814
SamplerCreateInfo & setMinLod(float minLod_)
Definition: vulkan.hpp:10161
Definition: vulkan_core.h:316
const void * pNext
Definition: vulkan.hpp:10754
OwnerType m_owner
Definition: vulkan.hpp:1068
PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR
Definition: vulkan.hpp:42098
ClearAttachment & setClearValue(ClearValue clearValue_)
Definition: vulkan.hpp:20489
bool operator!=(PipelineLayout const &rhs) const
Definition: vulkan.hpp:3242
PhysicalDeviceSamplerYcbcrConversionFeatures & setPNext(void *pNext_)
Definition: vulkan.hpp:14661
Bool32 residencyAlignedMipSize
Definition: vulkan.hpp:6299
bool operator!=(BindImageMemoryInfo const &rhs) const
Definition: vulkan.hpp:13067
CmdReserveSpaceForCommandsInfoNVX & setMaxSequencesCount(uint32_t maxSequencesCount_)
Definition: vulkan.hpp:11866
virtual const char * what() const noexcept=0
Buffer buffer
Definition: vulkan.hpp:24604
void blitImage(Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageBlit *pRegions, Filter filter, Dispatch const &d=Dispatch()) const
Bool32 dualSrcBlend
Definition: vulkan.hpp:6224
PipelineCacheCreateFlags flags
Definition: vulkan.hpp:10045
VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
ExternalMemoryFeatureFlagBitsNV
Definition: vulkan.hpp:24292
VertexInputBindingDescription & setBinding(uint32_t binding_)
Definition: vulkan.hpp:7916
bool operator!=(Rect2D const &rhs) const
Definition: vulkan.hpp:5103
SubpassDescription & setPResolveAttachments(const AttachmentReference *pResolveAttachments_)
Definition: vulkan.hpp:28434
ImageMemoryBarrier & setImage(Image image_)
Definition: vulkan.hpp:19994
bool operator!=(SampleLocationEXT const &rhs) const
Definition: vulkan.hpp:7033
bool operator==(IndirectCommandsLayoutTokenNVX const &rhs) const
Definition: vulkan.hpp:24658
Definition: vulkan_core.h:645
BufferImageCopy & setImageExtent(Extent3D imageExtent_)
Definition: vulkan.hpp:20345
Result createDebugUtilsMessengerEXT(const DebugUtilsMessengerCreateInfoEXT *pCreateInfo, const AllocationCallbacks *pAllocator, DebugUtilsMessengerEXT *pMessenger, Dispatch const &d=Dispatch()) const
VkResult vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t *pPropertyCount, VkDisplayModePropertiesKHR *pProperties) const
Definition: vulkan.hpp:1853
PhysicalDeviceSparseImageFormatInfo2 & setSamples(SampleCountFlagBits samples_)
Definition: vulkan.hpp:22476
bool operator!=(ObjectTableDescriptorSetEntryNVX const &rhs) const
Definition: vulkan.hpp:25064
void(VKAPI_PTR * PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit *pRegions, VkFilter filter)
Definition: vulkan_core.h:2835
VkFlags VkDebugReportFlagsEXT
Definition: vulkan_core.h:5794
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer)
DisplayModeKHR displayMode
Definition: vulkan.hpp:23642
uint32_t maxTessellationControlTotalOutputComponents
Definition: vulkan.hpp:22270
BufferViewCreateInfo & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:9174
bool operator!=(PhysicalDeviceDiscardRectanglePropertiesEXT const &rhs) const
Definition: vulkan.hpp:14107
Definition: vulkan_core.h:511
PresentTimeGOOGLE & setDesiredPresentTime(uint64_t desiredPresentTime_)
Definition: vulkan.hpp:6914
DebugMarkerObjectNameInfoEXT & setObjectType(DebugReportObjectTypeEXT objectType_)
Definition: vulkan.hpp:23888
const void * pNext
Definition: vulkan.hpp:19124
bool operator<(DeviceMemory const &rhs) const
Definition: vulkan.hpp:2711
VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
VkResult(VKAPI_PTR * PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
Definition: vulkan_core.h:2813
AttachmentSampleLocationsEXT & operator=(VkAttachmentSampleLocationsEXT const &rhs)
Definition: vulkan.hpp:22625
ClearAttachment(ImageAspectFlags aspectMask_=ImageAspectFlags(), uint32_t colorAttachment_=0, ClearValue clearValue_=ClearValue())
Definition: vulkan.hpp:20460
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice device, const char *pName)
ObjectEntryUsageFlagsNVX flags
Definition: vulkan.hpp:24943
Definition: vulkan_core.h:1015
void destroyRenderPass(RenderPass renderPass, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
VkResult(VKAPI_PTR * PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
Definition: vulkan_core.h:2808
RenderPassCreateInfo & setDependencyCount(uint32_t dependencyCount_)
Definition: vulkan.hpp:28554
bool operator==(PhysicalDeviceSamplerYcbcrConversionFeatures const &rhs) const
Definition: vulkan.hpp:14678
VkResult(VKAPI_PTR * PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache *pSrcCaches)
Definition: vulkan_core.h:2785
bool operator==(Instance const &rhs) const
Definition: vulkan.hpp:37503
Definition: vulkan_core.h:1199
Bool32 sampleRateShading
Definition: vulkan.hpp:6223
Rect2D & setOffset(Offset2D offset_)
Definition: vulkan.hpp:5080
Image image
Definition: vulkan.hpp:13077
SurfaceKHR & operator=(std::nullptr_t)
Definition: vulkan.hpp:4508
PipelineDiscardRectangleStateCreateInfoEXT & setPDiscardRectangles(const Rect2D *pDiscardRectangles_)
Definition: vulkan.hpp:28308
BindSparseInfo & setPWaitSemaphores(const Semaphore *pWaitSemaphores_)
Definition: vulkan.hpp:21297
DebugUtilsMessengerCreateFlagBitsEXT
Definition: vulkan.hpp:2654
PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout
Definition: vulkan.hpp:41988
Definition: vulkan_core.h:3748
StructureType sType
Definition: vulkan.hpp:19596
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderStorageTexelBufferArrayNonUniformIndexing(Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_)
Definition: vulkan.hpp:15908
ExternalFenceHandleTypeFlagBits handleType
Definition: vulkan.hpp:27259
RenderPassBeginInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:10335
void getQueue(uint32_t queueFamilyIndex, uint32_t queueIndex, Queue *pQueue, Dispatch const &d=Dispatch()) const
DeviceGeneratedCommandsLimitsNVX & setMinCommandsTokenBufferOffsetAlignment(uint32_t minCommandsTokenBufferOffsetAlignment_)
Definition: vulkan.hpp:11789
PhysicalDeviceFeatures & setLargePoints(Bool32 largePoints_)
Definition: vulkan.hpp:5914
StructureType sType
Definition: vulkan.hpp:24880
SparseMemoryBind & setMemoryOffset(DeviceSize memoryOffset_)
Definition: vulkan.hpp:20953
Definition: vulkan_core.h:278
VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void *pValues)
DeviceGroupPresentModeFlagsKHR modes
Definition: vulkan.hpp:27884
QueueGlobalPriorityEXT globalPriority
Definition: vulkan.hpp:29213
Definition: vulkan_core.h:4826
Definition: vulkan_core.h:674
Definition: vulkan_core.h:558
VkResult vkGetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR *pGetFdInfo, int *pFd) const
Definition: vulkan.hpp:1869
bool operator==(DisplayModeParametersKHR const &rhs) const
Definition: vulkan.hpp:6569
Fence fence
Definition: vulkan.hpp:26992
uint32_t firstIndex
Definition: vulkan.hpp:6445
bool operator==(PhysicalDeviceGroupProperties const &rhs) const
Definition: vulkan.hpp:37436
GraphicsPipelineCreateInfo(PipelineCreateFlags flags_=PipelineCreateFlags(), uint32_t stageCount_=0, const PipelineShaderStageCreateInfo *pStages_=nullptr, const PipelineVertexInputStateCreateInfo *pVertexInputState_=nullptr, const PipelineInputAssemblyStateCreateInfo *pInputAssemblyState_=nullptr, const PipelineTessellationStateCreateInfo *pTessellationState_=nullptr, const PipelineViewportStateCreateInfo *pViewportState_=nullptr, const PipelineRasterizationStateCreateInfo *pRasterizationState_=nullptr, const PipelineMultisampleStateCreateInfo *pMultisampleState_=nullptr, const PipelineDepthStencilStateCreateInfo *pDepthStencilState_=nullptr, const PipelineColorBlendStateCreateInfo *pColorBlendState_=nullptr, const PipelineDynamicStateCreateInfo *pDynamicState_=nullptr, PipelineLayout layout_=PipelineLayout(), RenderPass renderPass_=RenderPass(), uint32_t subpass_=0, Pipeline basePipelineHandle_=Pipeline(), int32_t basePipelineIndex_=0)
Definition: vulkan.hpp:21912
Definition: vulkan_core.h:309
void vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent *pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers) const
Definition: vulkan.hpp:1397
VkResult(VKAPI_PTR * PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineLayout *pPipelineLayout)
Definition: vulkan_core.h:2789
Definition: vulkan_core.h:618
VkPipelineStageFlagBits
Definition: vulkan_core.h:1339
bool operator==(ImageSwapchainCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:13503
const void * pNext
Definition: vulkan.hpp:11500
Definition: vulkan_core.h:823
PastPresentationTimingGOOGLE(VkPastPresentationTimingGOOGLE const &rhs)
Definition: vulkan.hpp:6823
Definition: vulkan_core.h:597
PresentRegionKHR(VkPresentRegionKHR const &rhs)
Definition: vulkan.hpp:6676
GLint location
Definition: glext.h:6690
#define VK_MAX_EXTENSION_NAME_SIZE
Definition: vulkan_core.h:112
ResultValueType< UniqueValidationCacheEXT >::type createValidationCacheEXTUnique(const ValidationCacheCreateInfoEXT &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
MemoryAllocateFlagsInfo & operator=(VkMemoryAllocateFlagsInfo const &rhs)
Definition: vulkan.hpp:27649
Flags< SurfaceTransformFlagBitsKHR, VkSurfaceTransformFlagsKHR > SurfaceTransformFlagsKHR
Definition: vulkan.hpp:23481
uint32_t maxSets
Definition: vulkan.hpp:23164
PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationTableCount(uint32_t coverageModulationTableCount_)
Definition: vulkan.hpp:29096
PipelineDepthStencilStateCreateInfo & setMinDepthBounds(float minDepthBounds_)
Definition: vulkan.hpp:9922
ClearAttachment & setAspectMask(ImageAspectFlags aspectMask_)
Definition: vulkan.hpp:20477
PipelineShaderStageCreateFlags flags
Definition: vulkan.hpp:18334
DisplayKHR display
Definition: vulkan.hpp:23524
DisplayPresentInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:10707
ImageMemoryBarrier & operator=(VkImageMemoryBarrier const &rhs)
Definition: vulkan.hpp:19947
ImageViewType
Definition: vulkan.hpp:7279
Offset3D srcOffset
Definition: vulkan.hpp:20217
uint32_t maxUniformBufferRange
Definition: vulkan.hpp:22237
OwnerType getOwner() const
Definition: vulkan.hpp:1081
DebugMarkerMarkerInfoEXT(const char *pMarkerName_=nullptr, std::array< float, 4 > const &color_={ { 0, 0, 0, 0 } })
Definition: vulkan.hpp:11270
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures *pFeatures)
VULKAN_HPP_TYPESAFE_EXPLICIT PipelineLayout(VkPipelineLayout pipelineLayout)
Definition: vulkan.hpp:3219
StencilOp passOp
Definition: vulkan.hpp:7839
ObjectTableIndexBufferEntryNVX(VkObjectTableIndexBufferEntryNVX const &rhs)
Definition: vulkan.hpp:25146
StructureType sType
Definition: vulkan.hpp:17966
uint32_t physicalDeviceCount
Definition: vulkan.hpp:37455
DebugReportFlagBitsEXT
Definition: vulkan.hpp:23719
GraphicsPipelineCreateInfo & setRenderPass(RenderPass renderPass_)
Definition: vulkan.hpp:22027
StructureType sType
Definition: vulkan.hpp:17862
ImageSubresource & setArrayLayer(uint32_t arrayLayer_)
Definition: vulkan.hpp:19752
SamplerCreateInfo & setAddressModeV(SamplerAddressMode addressModeV_)
Definition: vulkan.hpp:10119
Definition: vulkan_core.h:609
bool operator!=(IndirectCommandsLayoutCreateInfoNVX const &rhs) const
Definition: vulkan.hpp:24743
bool operator!=(ImageBlit const &rhs) const
Definition: vulkan.hpp:20281
Definition: vulkan_core.h:526
VkResult(VKAPI_PTR * PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t *pDataSize, void *pData)
Definition: vulkan_core.h:2784
RenderPassMultiviewCreateInfo(VkRenderPassMultiviewCreateInfo const &rhs)
Definition: vulkan.hpp:12779
CommandBufferBeginInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:19559
OutOfPoolMemoryError(char const *message)
Definition: vulkan.hpp:769
Definition: vulkan_core.h:512
Definition: vulkan_core.h:587
HdrMetadataEXT & setMaxContentLightLevel(float maxContentLightLevel_)
Definition: vulkan.hpp:13745
VkResult vkEndCommandBuffer(VkCommandBuffer commandBuffer) const
Definition: vulkan.hpp:1743
uint32_t maxComputeSharedMemorySize
Definition: vulkan.hpp:22282
void vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const
Definition: vulkan.hpp:1157
uint32_t maxImageCount
Definition: vulkan.hpp:27324
MemoryDedicatedAllocateInfo(Image image_=Image(), Buffer buffer_=Buffer())
Definition: vulkan.hpp:14523
VkShaderStageFlagBits
Definition: vulkan_core.h:1466
void pushDescriptorSetKHR(PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const WriteDescriptorSet *pDescriptorWrites, Dispatch const &d=Dispatch()) const
PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR
Definition: vulkan.hpp:42116
PipelineViewportSwizzleStateCreateInfoNV(VkPipelineViewportSwizzleStateCreateInfoNV const &rhs)
Definition: vulkan.hpp:28194
MemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]
Definition: vulkan.hpp:17729
VkResult(VKAPI_PTR * PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence)
Definition: vulkan_core.h:2739
SwapchainCreateInfoKHR & setSurface(SurfaceKHR surface_)
Definition: vulkan.hpp:27958
Bool32 sparseResidencyBuffer
Definition: vulkan.hpp:6262
Definition: vulkan.hpp:30948
SubpassDependency & setDstStageMask(PipelineStageFlags dstStageMask_)
Definition: vulkan.hpp:23240
bool operator!=(SparseImageOpaqueMemoryBindInfo const &rhs) const
Definition: vulkan.hpp:21188
Definition: vulkan_core.h:638
void(VKAPI_PTR * PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
Definition: vulkan_core.h:2827
PipelineRasterizationStateRasterizationOrderAMD & setPNext(const void *pNext_)
Definition: vulkan.hpp:24050
Definition: vulkan_core.h:5790
Definition: vulkan_core.h:1020
Definition: vulkan_core.h:3827
const uint32_t * pQueueFamilyIndices
Definition: vulkan.hpp:21796
VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
Flags< ImageViewCreateFlagBits, VkImageViewCreateFlags > ImageViewCreateFlags
Definition: vulkan.hpp:2474
Definition: vulkan_core.h:2019
Result bindImageMemory2(uint32_t bindInfoCount, const BindImageMemoryInfo *pBindInfos, Dispatch const &d=Dispatch()) const
DisplayPowerStateEXT powerState
Definition: vulkan.hpp:27450
Definition: vulkan_core.h:4551
PipelineDiscardRectangleStateCreateFlagBitsEXT
Definition: vulkan.hpp:2630
bool operator==(MemoryGetFdInfoKHR const &rhs) const
Definition: vulkan.hpp:25966
uint64_t tagName
Definition: vulkan.hpp:17077
PastPresentationTimingGOOGLE(uint32_t presentID_=0, uint64_t desiredPresentTime_=0, uint64_t actualPresentTime_=0, uint64_t earliestPresentTime_=0, uint64_t presentMargin_=0)
Definition: vulkan.hpp:6814
Bool32 deviceLUIDValid
Definition: vulkan.hpp:12176
Definition: vulkan_core.h:993
EventCreateFlagBits
Definition: vulkan.hpp:2488
DebugReportCallbackCreateInfoEXT & operator=(VkDebugReportCallbackCreateInfoEXT const &rhs)
Definition: vulkan.hpp:23762
bool operator!=(ImageResolve const &rhs) const
Definition: vulkan.hpp:20445
VkResult vkCreateObjectTableNVX(VkDevice device, const VkObjectTableCreateInfoNVX *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkObjectTableNVX *pObjectTable) const
Definition: vulkan.hpp:1517
VkQueryPool m_queryPool
Definition: vulkan.hpp:3806
PFN_vkDestroyQueryPool vkDestroyQueryPool
Definition: vulkan.hpp:42003
int fd
Definition: vulkan.hpp:26715
bool operator!=(SurfaceKHR const &rhs) const
Definition: vulkan.hpp:4519
Definition: vulkan_core.h:1732
Definition: vulkan_core.h:1471
void destroyPipelineCache(PipelineCache pipelineCache, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
bool operator==(ObjectTableCreateInfoNVX const &rhs) const
Definition: vulkan.hpp:24859
PipelineLayoutCreateFlagBits
Definition: vulkan.hpp:2380
Definition: vulkan_core.h:1104
Result getDisplayModePropertiesKHR(DisplayKHR display, uint32_t *pPropertyCount, DisplayModePropertiesKHR *pProperties, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:6493
const void * pNext
Definition: vulkan.hpp:18892
Definition: vulkan_core.h:3722
Definition: vulkan_core.h:581
Definition: vulkan_core.h:528
T * m_ptr
Definition: vulkan.hpp:339
Result bindBufferMemory2(uint32_t bindInfoCount, const BindBufferMemoryInfo *pBindInfos, Dispatch const &d=Dispatch()) const
uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]
Definition: vulkan.hpp:27755
Definition: vulkan_core.h:3751
IndirectCommandsLayoutUsageFlagsNVX flags
Definition: vulkan.hpp:24754
Definition: vulkan_core.h:270
Definition: vulkan_core.h:1179
bool operator==(PipelineInputAssemblyStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9517
VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineCache *pPipelineCache)
AttachmentDescription & setFormat(Format format_)
Definition: vulkan.hpp:22952
SpecializationInfo & operator=(VkSpecializationInfo const &rhs)
Definition: vulkan.hpp:5559
bool operator==(DeviceQueueGlobalPriorityCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29196
void(VKAPI_PTR * PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void *pValues)
Definition: vulkan_core.h:2853
ViewportCoordinateSwizzleNV w
Definition: vulkan.hpp:28181
Definition: vulkan_core.h:821
PresentRegionKHR & setRectangleCount(uint32_t rectangleCount_)
Definition: vulkan.hpp:6686
QueryPoolCreateInfo & setQueryType(QueryType queryType_)
Definition: vulkan.hpp:19637
uint32_t queueFamilyIndexCount
Definition: vulkan.hpp:28094
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties
Definition: vulkan.hpp:42018
void(VKAPI_PTR * PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
Definition: vulkan_core.h:2814
uint32_t memoryTypeBits
Definition: vulkan.hpp:12311
void callback(s32 result, dvdcmdblk *block)
Definition: dvd.c:2293
bool operator!=(Queue const &rhs) const
Definition: vulkan.hpp:31091
Bool32 shaderSampledImageArrayNonUniformIndexing
Definition: vulkan.hpp:16019
float xcoeff
Definition: vulkan.hpp:6987
PipelineSampleLocationsStateCreateInfoEXT & setSampleLocationsEnable(Bool32 sampleLocationsEnable_)
Definition: vulkan.hpp:22820
bool operator==(RefreshCycleDurationGOOGLE const &rhs) const
Definition: vulkan.hpp:6798
const void * pNext
Definition: vulkan.hpp:25599
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(VkInstance instance, const VkMirSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Result enumerateDeviceExtensionProperties(const char *pLayerName, uint32_t *pPropertyCount, ExtensionProperties *pProperties, Dispatch const &d=Dispatch()) const
ImageCreateInfo & setFormat(Format format_)
Definition: vulkan.hpp:21685
const void * pNext
Definition: vulkan.hpp:10307
PipelineInputAssemblyStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9488
Extent2D(VkExtent2D const &rhs)
Definition: vulkan.hpp:4872
void(VKAPI_PTR * PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char *pLayerPrefix, const char *pMessage)
Definition: vulkan_core.h:5817
Bool32 computeBindingPointSupport
Definition: vulkan.hpp:11734
FenceGetFdInfoKHR(VkFenceGetFdInfoKHR const &rhs)
Definition: vulkan.hpp:26941
void getBufferMemoryRequirements2(const BufferMemoryRequirementsInfo2 *pInfo, MemoryRequirements2 *pMemoryRequirements, Dispatch const &d=Dispatch()) const
PipelineLayoutCreateInfo(PipelineLayoutCreateFlags flags_=PipelineLayoutCreateFlags(), uint32_t setLayoutCount_=0, const DescriptorSetLayout *pSetLayouts_=nullptr, uint32_t pushConstantRangeCount_=0, const PushConstantRange *pPushConstantRanges_=nullptr)
Definition: vulkan.hpp:18404
bool operator!=(SamplerCreateInfo const &rhs) const
Definition: vulkan.hpp:10212
uint32_t maxDrawIndirectCount
Definition: vulkan.hpp:22290
PipelineTessellationStateCreateInfo(PipelineTessellationStateCreateFlags flags_=PipelineTessellationStateCreateFlags(), uint32_t patchControlPoints_=0)
Definition: vulkan.hpp:9544
ImportMemoryFdInfoKHR & setFd(int fd_)
Definition: vulkan.hpp:25891
DeviceGroupSubmitInfo & setWaitSemaphoreCount(uint32_t waitSemaphoreCount_)
Definition: vulkan.hpp:13329
LogicOp
Definition: vulkan.hpp:7848
AttachmentReference & setAttachment(uint32_t attachment_)
Definition: vulkan.hpp:7220
const void * pNext
Definition: vulkan.hpp:13461
const PipelineDynamicStateCreateInfo * pDynamicState
Definition: vulkan.hpp:22100
CommandBufferUsageFlags flags
Definition: vulkan.hpp:19600
Definition: vulkan_core.h:1454
void vkDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1703
SpecializationInfo & setPData(const void *pData_)
Definition: vulkan.hpp:5582
const void * pNext
Definition: vulkan.hpp:12935
void(VKAPI_PTR * PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2774
void vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const
Definition: vulkan.hpp:1273
PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR
Definition: vulkan.hpp:42039
Definition: vulkan_core.h:2235
Definition: vulkan_core.h:912
PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR
Definition: vulkan.hpp:42139
CommandBuffer targetCommandBuffer
Definition: vulkan.hpp:37421
CmdProcessCommandsInfoNVX & setTargetCommandBuffer(CommandBuffer targetCommandBuffer_)
Definition: vulkan.hpp:37355
uint32_t numAvailableVgprs
Definition: vulkan.hpp:18520
bool operator!=(DeviceGroupRenderPassBeginInfo const &rhs) const
Definition: vulkan.hpp:13226
ObjectTableEntryNVX & setFlags(ObjectEntryUsageFlagsNVX flags_)
Definition: vulkan.hpp:24920
Definition: vulkan.hpp:5424
PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT
Definition: vulkan.hpp:42014
void getExternalBufferProperties(const PhysicalDeviceExternalBufferInfo *pExternalBufferInfo, ExternalBufferProperties *pExternalBufferProperties, Dispatch const &d=Dispatch()) const
bool operator!=(ImagePlaneMemoryRequirementsInfo const &rhs) const
Definition: vulkan.hpp:20732
ImageMemoryRequirementsInfo2(VkImageMemoryRequirementsInfo2 const &rhs)
Definition: vulkan.hpp:14352
Definition: vulkan_core.h:6103
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pRectCount, VkRect2D *pRects)
bool operator==(DeviceEventInfoEXT const &rhs) const
Definition: vulkan.hpp:27493
StructureType sType
Definition: vulkan.hpp:11434
void(VKAPI_PTR * PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth)
Definition: vulkan_core.h:2817
ObjectTableCreateInfoNVX & setMaxStorageBuffersPerDescriptor(uint32_t maxStorageBuffersPerDescriptor_)
Definition: vulkan.hpp:24830
Definition: vulkan_core.h:5744
DeviceSize offset
Definition: vulkan.hpp:8909
void vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const
Definition: vulkan.hpp:1325
Definition: vulkan.hpp:3945
PhysicalDeviceExternalSemaphoreInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:26225
DescriptorPoolCreateInfo & setPoolSizeCount(uint32_t poolSizeCount_)
Definition: vulkan.hpp:23126
void resetQueryPool(QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:29209
OutOfHostMemoryError(char const *message)
Definition: vulkan.hpp:673
PresentInfoKHR & setSwapchainCount(uint32_t swapchainCount_)
Definition: vulkan.hpp:16600
VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate()
Definition: vulkan.hpp:4149
void(VKAPI_PTR * PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:4619
Definition: vulkan_core.h:1125
VkResult(VKAPI_PTR * PFN_vkGetFenceStatus)(VkDevice device, VkFence fence)
Definition: vulkan_core.h:2759
SurfaceTransformFlagBitsKHR
Definition: vulkan.hpp:23468
Flags< InstanceCreateFlagBits, VkInstanceCreateFlags > InstanceCreateFlags
Definition: vulkan.hpp:2462
SampleLocationEXT(VkSampleLocationEXT const &rhs)
Definition: vulkan.hpp:7000
Flags< QueryControlFlagBits, VkQueryControlFlags > QueryControlFlags
Definition: vulkan.hpp:19331
VkImageLayout
Definition: vulkan_core.h:798
Definition: vulkan_core.h:6154
DeviceGroupSubmitInfo(VkDeviceGroupSubmitInfo const &rhs)
Definition: vulkan.hpp:13313
PFN_vkCmdSetDepthBias vkCmdSetDepthBias
Definition: vulkan.hpp:41900
PipelineCoverageModulationStateCreateFlagBitsNV
Definition: vulkan.hpp:2642
VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks *pAllocator)
StructureType sType
Definition: vulkan.hpp:13667
DebugUtilsMessengerCallbackDataEXT & setPMessageIdName(const char *pMessageIdName_)
Definition: vulkan.hpp:17121
PhysicalDeviceSparseImageFormatInfo2 & setTiling(ImageTiling tiling_)
Definition: vulkan.hpp:22488
StructureType sType
Definition: vulkan.hpp:16739
StructureChain()
Definition: vulkan.hpp:464
Flags< ExternalSemaphoreFeatureFlagBits, VkExternalSemaphoreFeatureFlags > ExternalSemaphoreFeatureFlags
Definition: vulkan.hpp:26460
Result createDescriptorSetLayout(const DescriptorSetLayoutCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, DescriptorSetLayout *pSetLayout, Dispatch const &d=Dispatch()) const
PipelineViewportStateCreateInfo(PipelineViewportStateCreateFlags flags_=PipelineViewportStateCreateFlags(), uint32_t viewportCount_=0, const Viewport *pViewports_=nullptr, uint32_t scissorCount_=0, const Rect2D *pScissors_=nullptr)
Definition: vulkan.hpp:9608
DisplaySurfaceCreateInfoKHR & setPlaneIndex(uint32_t planeIndex_)
Definition: vulkan.hpp:23576
EventCreateFlags flags
Definition: vulkan.hpp:10456
Definition: vulkan_core.h:2442
ExportMemoryAllocateInfo(VkExportMemoryAllocateInfo const &rhs)
Definition: vulkan.hpp:25670
PhysicalDeviceFeatures & setSparseResidency16Samples(Bool32 sparseResidency16Samples_)
Definition: vulkan.hpp:6124
Definition: vulkan_core.h:1272
bool operator==(SurfaceFormatKHR const &rhs) const
Definition: vulkan.hpp:23331
IndexType indexType
Definition: vulkan.hpp:25201
Definition: vulkan_core.h:962
ImageLayout finalLayout
Definition: vulkan.hpp:23031
Definition: vulkan.hpp:112
Definition: vulkan_core.h:2001
ImageSubresourceRange(ImageAspectFlags aspectMask_=ImageAspectFlags(), uint32_t baseMipLevel_=0, uint32_t levelCount_=0, uint32_t baseArrayLayer_=0, uint32_t layerCount_=0)
Definition: vulkan.hpp:19852
PipelineDepthStencilStateCreateInfo & setDepthBoundsTestEnable(Bool32 depthBoundsTestEnable_)
Definition: vulkan.hpp:9898
SwapchainCreateInfoKHR & setImageArrayLayers(uint32_t imageArrayLayers_)
Definition: vulkan.hpp:27988
GraphicsPipelineCreateInfo & setFlags(PipelineCreateFlags flags_)
Definition: vulkan.hpp:21949
VkSamplerYcbcrConversion m_samplerYcbcrConversion
Definition: vulkan.hpp:4277
Definition: vulkan_core.h:1497
CommandBufferInheritanceInfo & setPipelineStatistics(QueryPipelineStatisticFlags pipelineStatistics_)
Definition: vulkan.hpp:19499
PipelineDynamicStateCreateInfo & operator=(VkPipelineDynamicStateCreateInfo const &rhs)
Definition: vulkan.hpp:16690
ImageSparseMemoryRequirementsInfo2 & setImage(Image image_)
Definition: vulkan.hpp:14425
VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource *pSubresource, VkSubresourceLayout *pLayout)
VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t *pPropertyCount, VkDisplayModePropertiesKHR *pProperties)
Definition: vulkan_core.h:1625
uint32_t planeIndex
Definition: vulkan.hpp:23643
Extent2D minImageExtent
Definition: vulkan.hpp:23681
VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR *pCapabilities)
ShaderStageFlags stageFlags
Definition: vulkan.hpp:25270
BindImageMemoryInfo & setImage(Image image_)
Definition: vulkan.hpp:13035
void beginDebugUtilsLabelEXT(const DebugUtilsLabelEXT *pLabelInfo, Dispatch const &d=Dispatch()) const
ExternalSemaphoreHandleTypeFlagBits handleType
Definition: vulkan.hpp:26714
SemaphoreGetFdInfoKHR(Semaphore semaphore_=Semaphore(), ExternalSemaphoreHandleTypeFlagBits handleType_=ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd)
Definition: vulkan.hpp:26390
DescriptorUpdateTemplate & operator=(std::nullptr_t)
Definition: vulkan.hpp:4169
bool operator!=(CommandPoolCreateInfo const &rhs) const
Definition: vulkan.hpp:21513
ColorComponentFlags colorWriteMask
Definition: vulkan.hpp:19030
VULKAN_HPP_CONSTEXPR Sampler()
Definition: vulkan.hpp:3278
Extent2D maxSampleLocationGridSize
Definition: vulkan.hpp:22889
ExternalSemaphoreHandleTypeFlagBits handleType
Definition: vulkan.hpp:26448
SparseMemoryBind(VkSparseMemoryBind const &rhs)
Definition: vulkan.hpp:20925
CompositeAlphaFlagBitsKHR compositeAlpha
Definition: vulkan.hpp:28097
Definition: vulkan_core.h:929
DisplayPowerInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:27416
Pipeline basePipelineHandle
Definition: vulkan.hpp:18896
PFN_vkDestroyRenderPass vkDestroyRenderPass
Definition: vulkan.hpp:42004
ResultValueType< UniquePipelineCache >::type createPipelineCacheUnique(const PipelineCacheCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
VkResult vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkShaderModule *pShaderModule) const
Definition: vulkan.hpp:1553
DescriptorSet descriptorSet
Definition: vulkan.hpp:25072
bool operator==(CommandPoolCreateInfo const &rhs) const
Definition: vulkan.hpp:21505
StructureType sType
Definition: vulkan.hpp:15332
uint32_t numPhysicalSgprs
Definition: vulkan.hpp:18519
Definition: vulkan_core.h:4350
void vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements *pSparseMemoryRequirements) const
Definition: vulkan.hpp:1895
Result bindImageMemory2KHR(uint32_t bindInfoCount, const BindImageMemoryInfo *pBindInfos, Dispatch const &d=Dispatch()) const
Image image
Definition: vulkan.hpp:20138
void getExternalFenceProperties(const PhysicalDeviceExternalFenceInfo *pExternalFenceInfo, ExternalFenceProperties *pExternalFenceProperties, Dispatch const &d=Dispatch()) const
ResultValueType< UniqueEvent >::type createEventUnique(const EventCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
DebugUtilsMessengerCreateInfoEXT(VkDebugUtilsMessengerCreateInfoEXT const &rhs)
Definition: vulkan.hpp:29283
ComputePipelineCreateInfo(VkComputePipelineCreateInfo const &rhs)
Definition: vulkan.hpp:18821
ExternalMemoryHandleTypeFlags handleTypes
Definition: vulkan.hpp:25714
VkResult(VKAPI_PTR * PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
Definition: vulkan_core.h:2797
Definition: vulkan_core.h:4172
Definition: vulkan_core.h:147
StructureType sType
Definition: vulkan.hpp:28632
PipelineDiscardRectangleStateCreateInfoEXT & setFlags(PipelineDiscardRectangleStateCreateFlagsEXT flags_)
Definition: vulkan.hpp:28290
PipelineRasterizationConservativeStateCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:29389
ResultValueType< UniqueDescriptorPool >::type createDescriptorPoolUnique(const DescriptorPoolCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
const void * pNext
Definition: vulkan.hpp:26047
DebugMarkerObjectTagInfoEXT(DebugReportObjectTypeEXT objectType_=DebugReportObjectTypeEXT::eUnknown, uint64_t object_=0, uint64_t tagName_=0, size_t tagSize_=0, const void *pTag_=nullptr)
Definition: vulkan.hpp:23938
ResultValueType< void >::type resetDescriptorPool(DescriptorPool descriptorPool, DescriptorPoolResetFlags flags=DescriptorPoolResetFlags(), Dispatch const &d=Dispatch()) const
PipelineRasterizationStateCreateInfo & setFrontFace(FrontFace frontFace_)
Definition: vulkan.hpp:9760
void(VKAPI_PTR * PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport)
Definition: vulkan_core.h:4384
Definition: vulkan.hpp:27459
Definition: vulkan.hpp:4804
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo, VkExternalSemaphoreProperties *pExternalSemaphoreProperties)
Definition: vulkan_core.h:5253
ExternalMemoryFeatureFlagsNV externalMemoryFeatures
Definition: vulkan.hpp:24340
Definition: vulkan_core.h:4002
BindBufferMemoryInfo & operator=(VkBindBufferMemoryInfo const &rhs)
Definition: vulkan.hpp:12883
ImageMemoryBarrier & setDstAccessMask(AccessFlags dstAccessMask_)
Definition: vulkan.hpp:19964
OutOfDeviceMemoryError(std::string const &message)
Definition: vulkan.hpp:679
void updateDescriptorSetWithTemplate(DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData, Dispatch const &d=Dispatch()) const
bool operator==(PresentRegionsKHR const &rhs) const
Definition: vulkan.hpp:12055
Definition: vulkan_core.h:625
ComponentMapping & setA(ComponentSwizzle a_)
Definition: vulkan.hpp:7345
PipelineVertexInputStateCreateFlagBits
Definition: vulkan.hpp:2440
PFN_vkMapMemory vkMapMemory
Definition: vulkan.hpp:42157
PhysicalDeviceSamplerYcbcrConversionFeatures(VkPhysicalDeviceSamplerYcbcrConversionFeatures const &rhs)
Definition: vulkan.hpp:14651
BufferViewCreateInfo & setRange(DeviceSize range_)
Definition: vulkan.hpp:9192
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pSurfaceFormatCount, VkSurfaceFormatKHR *pSurfaceFormats)
const void * pNext
Definition: vulkan.hpp:9223
Definition: vulkan.hpp:3141
Definition: vulkan_core.h:2649
void fillBuffer(Buffer dstBuffer, DeviceSize dstOffset, DeviceSize size, uint32_t data, Dispatch const &d=Dispatch()) const
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)
bool operator!=(SurfaceFormatKHR const &rhs) const
Definition: vulkan.hpp:23337
const void * pNext
Definition: vulkan.hpp:10682
DebugUtilsObjectTagInfoEXT & setObjectHandle(uint64_t objectHandle_)
Definition: vulkan.hpp:17025
GraphicsPipelineCreateInfo & setPDynamicState(const PipelineDynamicStateCreateInfo *pDynamicState_)
Definition: vulkan.hpp:22015
DisplayEventTypeEXT
Definition: vulkan.hpp:27514
ValidationFlagsEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:24370
ImageFormatListCreateInfoKHR(uint32_t viewFormatCount_=0, const Format *pViewFormats_=nullptr)
Definition: vulkan.hpp:15150
BindImageMemoryDeviceGroupInfo & operator=(VkBindImageMemoryDeviceGroupInfo const &rhs)
Definition: vulkan.hpp:13100
PipelineViewportStateCreateInfo & setPScissors(const Rect2D *pScissors_)
Definition: vulkan.hpp:9657
GraphicsPipelineCreateInfo & setPMultisampleState(const PipelineMultisampleStateCreateInfo *pMultisampleState_)
Definition: vulkan.hpp:21997
DispatchIndirectCommand(VkDispatchIndirectCommand const &rhs)
Definition: vulkan.hpp:6460
PhysicalDeviceExternalBufferInfo & setUsage(BufferUsageFlags usage_)
Definition: vulkan.hpp:25505
Definition: vulkan_core.h:2211
bool operator==(PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs) const
Definition: vulkan.hpp:16300
uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers
Definition: vulkan.hpp:16100
PipelineShaderStageCreateFlagBits
Definition: vulkan.hpp:2446
bool operator!=(ExternalMemoryImageCreateInfo const &rhs) const
Definition: vulkan.hpp:25590
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
bool operator!=(DisplayPlanePropertiesKHR const &rhs) const
Definition: vulkan.hpp:6524
void(VKAPI_PTR * PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
Definition: vulkan_core.h:2818
Definition: vulkan_core.h:1259
Definition: vulkan_core.h:1073
PhysicalDeviceFeatures & setShaderInt16(Bool32 shaderInt16_)
Definition: vulkan.hpp:6064
OutOfDateKHRError(std::string const &message)
Definition: vulkan.hpp:799
DeviceSize alignment
Definition: vulkan.hpp:5330
VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures)
ObjectEntryUsageFlagsNVX flags
Definition: vulkan.hpp:25199
Definition: vulkan.hpp:5310
Definition: vulkan_core.h:2566
DescriptorSetAllocateInfo(VkDescriptorSetAllocateInfo const &rhs)
Definition: vulkan.hpp:9314
Definition: vulkan_core.h:975
Format format
Definition: vulkan.hpp:20140
PhysicalDeviceExternalBufferInfo & setFlags(BufferCreateFlags flags_)
Definition: vulkan.hpp:25499
void vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer *pBuffers, const VkDeviceSize *pOffsets) const
Definition: vulkan.hpp:1177
Definition: vulkan.hpp:3744
Definition: vulkan_core.h:1546
Definition: vulkan_core.h:6233
bool operator!=(DescriptorSetLayoutCreateInfo const &rhs) const
Definition: vulkan.hpp:25357
Definition: vulkan_core.h:3746
char extensionName[VK_MAX_EXTENSION_NAME_SIZE]
Definition: vulkan.hpp:5191
PresentTimesInfoGOOGLE & setSwapchainCount(uint32_t swapchainCount_)
Definition: vulkan.hpp:13821
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties)
void vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers) const
Definition: vulkan.hpp:1281
StructureType sType
Definition: vulkan.hpp:10507
bool operator==(IndirectCommandsLayoutCreateInfoNVX const &rhs) const
Definition: vulkan.hpp:24733
Definition: ibxm.h:39
PhysicalDeviceSparseImageFormatInfo2 & setType(ImageType type_)
Definition: vulkan.hpp:22470
bool operator==(AttachmentDescription const &rhs) const
Definition: vulkan.hpp:23005
bool operator!=(ExportMemoryAllocateInfo const &rhs) const
Definition: vulkan.hpp:25704
VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange *pRanges)
Definition: vulkan_core.h:5353
bool operator==(DisplaySurfaceCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:23617
DeviceCreateInfo & operator=(VkDeviceCreateInfo const &rhs)
Definition: vulkan.hpp:17431
VkResult(VKAPI_PTR * PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain)
Definition: vulkan_core.h:5425
MemoryHeapFlagBits
Definition: vulkan.hpp:17656
Bool32 rasterizerDiscardEnable
Definition: vulkan.hpp:9830
Definition: vulkan_core.h:5749
bool operator==(FormatProperties const &rhs) const
Definition: vulkan.hpp:19278
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderStorageBufferArrayNonUniformIndexing(Bool32 shaderStorageBufferArrayNonUniformIndexing_)
Definition: vulkan.hpp:15884
float minLod
Definition: vulkan.hpp:10234
bool operator!=(BufferCopy const &rhs) const
Definition: vulkan.hpp:5473
VkResult(VKAPI_PTR * PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugReportCallbackEXT *pCallback)
Definition: vulkan_core.h:5815
PipelineMultisampleStateCreateInfo & setFlags(PipelineMultisampleStateCreateFlags flags_)
Definition: vulkan.hpp:21830
const Semaphore * pSignalSemaphores
Definition: vulkan.hpp:31053
DedicatedAllocationBufferCreateInfoNV(Bool32 dedicatedAllocation_=0)
Definition: vulkan.hpp:11389
Definition: vulkan.hpp:9032
Definition: vulkan.hpp:624
Definition: vulkan_core.h:1004
VkResult vkCreateBuffer(VkDevice device, const VkBufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBuffer *pBuffer) const
Definition: vulkan.hpp:1415
const void * pNext
Definition: vulkan.hpp:14579
Definition: vulkan_core.h:4850
Definition: vulkan_core.h:2420
bool operator==(DescriptorSetLayoutCreateInfo const &rhs) const
Definition: vulkan.hpp:25348
PipelineDiscardRectangleStateCreateFlagsEXT flags
Definition: vulkan.hpp:28339
StructureType sType
Definition: vulkan.hpp:9824
uint32_t reference
Definition: vulkan.hpp:7844
Definition: vulkan_core.h:125
Bool32 pipelineStatisticsQuery
Definition: vulkan.hpp:6241
uint32_t maxViewportDimensions[2]
Definition: vulkan.hpp:22294
bool operator!=(StencilOpState const &rhs) const
Definition: vulkan.hpp:7833
Definition: vulkan_core.h:1979
WriteDescriptorSet & setDescriptorCount(uint32_t descriptorCount_)
Definition: vulkan.hpp:8962
Definition: vulkan_core.h:4269
CommandBufferAllocateInfo & setLevel(CommandBufferLevel level_)
Definition: vulkan.hpp:10272
Extent3D & setDepth(uint32_t depth_)
Definition: vulkan.hpp:4946
Definition: vulkan_core.h:4568
ImageCreateInfo & setSamples(SampleCountFlagBits samples_)
Definition: vulkan.hpp:21709
PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2
Definition: vulkan.hpp:42054
Definition: vulkan_core.h:573
Definition: vulkan_android.h:94
void vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy *pRegions) const
Definition: vulkan.hpp:1209
Definition: vulkan_core.h:4088
void(VKAPI_PTR * PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements *pMemoryRequirements)
Definition: vulkan_core.h:2752
Definition: vulkan_core.h:582
Definition: vulkan_win32.h:36
bool operator!=(ImageCreateInfo const &rhs) const
Definition: vulkan.hpp:21775
Definition: vulkan_core.h:530
IncompatibleDriverError(std::string const &message)
Definition: vulkan.hpp:735
bool operator==(DeviceGroupBindSparseInfo const &rhs) const
Definition: vulkan.hpp:13444
Definition: vulkan_core.h:981
PhysicalDeviceShaderDrawParameterFeatures & operator=(VkPhysicalDeviceShaderDrawParameterFeatures const &rhs)
Definition: vulkan.hpp:15414
VkResult(VKAPI_PTR * PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo)
Definition: vulkan_core.h:6899
DeviceCreateInfo & setPEnabledFeatures(const PhysicalDeviceFeatures *pEnabledFeatures_)
Definition: vulkan.hpp:17484
bool operator==(InputAttachmentAspectReference const &rhs) const
Definition: vulkan.hpp:20548
DeviceGeneratedCommandsFeaturesNVX(VkDeviceGeneratedCommandsFeaturesNVX const &rhs)
Definition: vulkan.hpp:11690
Definition: vulkan_core.h:3913
FenceCreateInfo & setFlags(FenceCreateFlags flags_)
Definition: vulkan.hpp:19182
PhysicalDeviceConservativeRasterizationPropertiesEXT & setExtraPrimitiveOverestimationSizeGranularity(float extraPrimitiveOverestimationSizeGranularity_)
Definition: vulkan.hpp:15674
size_t initialDataSize
Definition: vulkan.hpp:10046
ImageSubresourceRange subresourceRange
Definition: vulkan.hpp:20042
DeviceGroupSubmitInfo & setPSignalSemaphoreDeviceIndices(const uint32_t *pSignalSemaphoreDeviceIndices_)
Definition: vulkan.hpp:13359
Definition: vulkan_core.h:539
uint32_t VkFlags
Definition: vulkan_core.h:68
Definition: vulkan_core.h:879
ComponentMapping(VkComponentMapping const &rhs)
Definition: vulkan.hpp:7317
uint32_t maxPerStageResources
Definition: vulkan.hpp:22251
bool operator!=(DebugMarkerObjectTagInfoEXT const &rhs) const
Definition: vulkan.hpp:24009
DisplayKHR currentDisplay
Definition: vulkan.hpp:6529
Definition: vulkan_core.h:4329
Definition: vulkan_core.h:7375
bool operator!=(DispatchIndirectCommand const &rhs) const
Definition: vulkan.hpp:6500
Definition: vulkan_core.h:769
PipelineCacheCreateFlagBits
Definition: vulkan.hpp:2386
uint32_t deviceIndexCount
Definition: vulkan.hpp:13003
bool operator!=(DeviceGeneratedCommandsFeaturesNVX const &rhs) const
Definition: vulkan.hpp:11724
DescriptorUpdateTemplateEntry & setDescriptorCount(uint32_t descriptorCount_)
Definition: vulkan.hpp:7476
VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT(std::nullptr_t)
Definition: vulkan.hpp:4626
VertexInputBindingDescription & setInputRate(VertexInputRate inputRate_)
Definition: vulkan.hpp:7928
void debugMarkerInsertEXT(const DebugMarkerMarkerInfoEXT *pMarkerInfo, Dispatch const &d=Dispatch()) const
ExternalMemoryHandleTypeFlagsNV compatibleHandleTypes
Definition: vulkan.hpp:24342
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT *pSurfaceCapabilities)
Definition: vulkan_core.h:4152
Bool32 residencyStandard2DMultisampleBlockShape
Definition: vulkan.hpp:6297
Definition: vulkan_core.h:6888
PipelineCacheCreateInfo(PipelineCacheCreateFlags flags_=PipelineCacheCreateFlags(), size_t initialDataSize_=0, const void *pInitialData_=nullptr)
Definition: vulkan.hpp:9980
VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX *pObjectEntryTypes, const uint32_t *pObjectIndices)
Definition: vulkan_core.h:979
IndirectCommandsLayoutTokenNVX & operator=(VkIndirectCommandsLayoutTokenNVX const &rhs)
Definition: vulkan.hpp:24624
DescriptorUpdateTemplateCreateInfo(VkDescriptorUpdateTemplateCreateInfo const &rhs)
Definition: vulkan.hpp:16770
PipelineColorBlendAdvancedStateCreateInfoEXT(Bool32 srcPremultiplied_=0, Bool32 dstPremultiplied_=0, BlendOverlapEXT blendOverlap_=BlendOverlapEXT::eUncorrelated)
Definition: vulkan.hpp:28972
SemaphoreGetFdInfoKHR & setSemaphore(Semaphore semaphore_)
Definition: vulkan.hpp:26412
Bool32 depthClamp
Definition: vulkan.hpp:6228
void reserveSpaceForCommandsNVX(const CmdReserveSpaceForCommandsInfoNVX *pReserveSpaceInfo, Dispatch const &d=Dispatch()) const
bool operator==(CommandBufferBeginInfo const &rhs) const
Definition: vulkan.hpp:19582
Definition: vulkan_core.h:1006
Definition: vulkan_core.h:3983
Definition: vulkan_core.h:6339
VkPipelineBindPoint
Definition: vulkan_core.h:1132
Extent3D(uint32_t width_=0, uint32_t height_=0, uint32_t depth_=0)
Definition: vulkan.hpp:4917
Result getFenceFdKHR(const FenceGetFdInfoKHR *pGetFdInfo, int *pFd, Dispatch const &d=Dispatch()) const
RectLayerKHR & setLayer(uint32_t layer_)
Definition: vulkan.hpp:6639
ValidationFailedEXTError(char const *message)
Definition: vulkan.hpp:817
DeviceGeneratedCommandsFeaturesNVX & operator=(VkDeviceGeneratedCommandsFeaturesNVX const &rhs)
Definition: vulkan.hpp:11695
PipelineRasterizationConservativeStateCreateInfoEXT & operator=(VkPipelineRasterizationConservativeStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:29384
Definition: vulkan_core.h:1588
ImageSubresourceLayers dstSubresource
Definition: vulkan.hpp:20288
PFN_vkInternalAllocationNotification pfnInternalAllocation
Definition: vulkan.hpp:5305
Definition: vulkan_core.h:1008
PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate
Definition: vulkan.hpp:42185
ObjectTablePushConstantEntryNVX(ObjectEntryTypeNVX type_=ObjectEntryTypeNVX::eDescriptorSet, ObjectEntryUsageFlagsNVX flags_=ObjectEntryUsageFlagsNVX(), PipelineLayout pipelineLayout_=PipelineLayout(), ShaderStageFlags stageFlags_=ShaderStageFlags())
Definition: vulkan.hpp:25207
ImageUsageFlags usage
Definition: vulkan.hpp:22523
Definition: vulkan_core.h:2632
Definition: vulkan_core.h:5901
GLenum type
Definition: glext.h:6233
void(VKAPI_PTR * PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
Definition: vulkan_core.h:2845
bool operator!=(SamplerYcbcrConversionInfo const &rhs) const
Definition: vulkan.hpp:14628
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingSampledImageUpdateAfterBind(Bool32 descriptorBindingSampledImageUpdateAfterBind_)
Definition: vulkan.hpp:15920
ShaderModuleCreateInfo & setCodeSize(size_t codeSize_)
Definition: vulkan.hpp:9263
Definition: vulkan_core.h:171
bool operator!=(PipelineDiscardRectangleStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:28329
Definition: vulkan_core.h:2188
DescriptorPoolSize & setType(DescriptorType type_)
Definition: vulkan.hpp:7409
RenderPassMultiviewCreateInfo & setCorrelationMaskCount(uint32_t correlationMaskCount_)
Definition: vulkan.hpp:12819
uint32_t offset
Definition: vulkan.hpp:5539
Definition: vulkan_core.h:7054
Definition: vulkan_core.h:630
WriteDescriptorSet & setDescriptorType(DescriptorType descriptorType_)
Definition: vulkan.hpp:8968
Definition: vulkan_core.h:636
StructureChain(StructureChain const &rhs)
Definition: vulkan.hpp:469
size_t ldsUsageSizeInBytes
Definition: vulkan.hpp:7067
BufferMemoryBarrier & setSrcAccessMask(AccessFlags srcAccessMask_)
Definition: vulkan.hpp:17900
Definition: vulkan_core.h:6581
Definition: vulkan_core.h:5750
StructureType sType
Definition: vulkan.hpp:17295
uint32_t bindCount
Definition: vulkan.hpp:21134
PhysicalDeviceFeatures & setImageCubeArray(Bool32 imageCubeArray_)
Definition: vulkan.hpp:5830
void copyImage(Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, const ImageCopy *pRegions, Dispatch const &d=Dispatch()) const
PhysicalDeviceSurfaceInfo2KHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:14166
DescriptorSetAllocateInfo & setDescriptorSetCount(uint32_t descriptorSetCount_)
Definition: vulkan.hpp:9336
PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate
Definition: vulkan.hpp:41989
UniqueHandle< Pipeline > UniquePipeline
Definition: vulkan.hpp:31303
RenderPass renderPass
Definition: vulkan.hpp:22102
StructureType sType
Definition: vulkan.hpp:25537
float minInterpolationOffset
Definition: vulkan.hpp:22305
ImportFenceFdInfoKHR & setFd(int fd_)
Definition: vulkan.hpp:27226
Definition: vulkan_core.h:6134
uint32_t indirectCommandsTokenCount
Definition: vulkan.hpp:37418
PipelineMultisampleStateCreateInfo & setRasterizationSamples(SampleCountFlagBits rasterizationSamples_)
Definition: vulkan.hpp:21836
ClearColorValue(const std::array< uint32_t, 4 > &uint32_)
Definition: vulkan.hpp:5625
DescriptorSetLayoutCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:25319
PhysicalDeviceFeatures & setSparseResidencyImage3D(Bool32 sparseResidencyImage3D_)
Definition: vulkan.hpp:6100
PipelineViewportWScalingStateCreateInfoNV(VkPipelineViewportWScalingStateCreateInfoNV const &rhs)
Definition: vulkan.hpp:14002
ViewportCoordinateSwizzleNV y
Definition: vulkan.hpp:28179
PipelineColorBlendAdvancedStateCreateInfoEXT & setDstPremultiplied(Bool32 dstPremultiplied_)
Definition: vulkan.hpp:29001
const uint32_t * pCode
Definition: vulkan.hpp:9301
Definition: vulkan_win32.h:229
SubpassDependency & setSrcStageMask(PipelineStageFlags srcStageMask_)
Definition: vulkan.hpp:23234
Definition: vulkan_core.h:992
Definition: vulkan_core.h:5279
int32_t basePipelineIndex
Definition: vulkan.hpp:18897
CmdProcessCommandsInfoNVX & setSequencesIndexOffset(DeviceSize sequencesIndexOffset_)
Definition: vulkan.hpp:37379
ComponentSwizzle b
Definition: vulkan.hpp:7371
ExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes
Definition: vulkan.hpp:24341
Definition: vulkan_core.h:1357
Definition: vulkan_core.h:140
PipelineVertexInputDivisorStateCreateInfoEXT & setVertexBindingDivisorCount(uint32_t vertexBindingDivisorCount_)
Definition: vulkan.hpp:16226
void resetEvent(Event event, PipelineStageFlags stageMask, Dispatch const &d=Dispatch()) const
SubpassDescription & setPipelineBindPoint(PipelineBindPoint pipelineBindPoint_)
Definition: vulkan.hpp:28404
Definition: vulkan_core.h:1498
VkShaderModule m_shaderModule
Definition: vulkan.hpp:3136
VkResult(VKAPI_PTR * PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion)
Definition: vulkan_core.h:4376
Result debugMarkerSetObjectTagEXT(const DebugMarkerObjectTagInfoEXT *pTagInfo, Dispatch const &d=Dispatch()) const
VkResult(VKAPI_PTR * PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorSetLayout *pSetLayout)
Definition: vulkan_core.h:2793
ObjectEntryTypeNVX type
Definition: vulkan.hpp:25130
SwapchainCreateFlagsKHR flags
Definition: vulkan.hpp:28085
Definition: vulkan_core.h:269
VkFlags VkExternalMemoryHandleTypeFlagsNV
Definition: vulkan_core.h:6098
Flags< SparseMemoryBindFlagBits, VkSparseMemoryBindFlags > SparseMemoryBindFlags
Definition: vulkan.hpp:20894
ValidationCacheEXT validationCache
Definition: vulkan.hpp:15336
Definition: vulkan_core.h:2381
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR
Definition: vulkan.hpp:42118
Definition: vulkan.hpp:23199
bool operator<(CommandBuffer const &rhs) const
Definition: vulkan.hpp:29670
Definition: vulkan_core.h:5759
uint32_t maxImageArrayLayers
Definition: vulkan.hpp:22235
Definition: vulkan_core.h:1346
Definition: vulkan_core.h:1438
ExternalMemoryHandleTypeFlagsNV handleTypes
Definition: vulkan.hpp:24167
VULKAN_HPP_CONSTEXPR Sampler(std::nullptr_t)
Definition: vulkan.hpp:3282
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, uint32_t *pSurfaceFormatCount, VkSurfaceFormat2KHR *pSurfaceFormats)
Definition: vulkan_core.h:153
Definition: vulkan_core.h:1959
void vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties) const
Definition: vulkan.hpp:2061
SystemError(std::error_code ec, char const *what)
Definition: vulkan.hpp:651
VkQueue m_queue
Definition: vulkan.hpp:31165
PipelineLayout layout
Definition: vulkan.hpp:22101
DebugMarkerObjectTagInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:23957
StructureType sType
Definition: vulkan.hpp:21519
StructureType sType
Definition: vulkan.hpp:11892
Definition: vulkan_core.h:915
uint32_t attachmentCount
Definition: vulkan.hpp:10616
CopyDescriptorSet & setDescriptorCount(uint32_t descriptorCount_)
Definition: vulkan.hpp:9097
Definition: vulkan_android.h:68
uint32_t maxMipLevels
Definition: vulkan.hpp:21631
Definition: vulkan.hpp:19928
int32_t y
Definition: vulkan.hpp:4859
Definition: vulkan_mir.h:36
AccessFlagBits
Definition: vulkan.hpp:17763
size_t codeSize
Definition: vulkan.hpp:9300
Definition: vulkan_core.h:221
AttachmentDescription & operator=(VkAttachmentDescription const &rhs)
Definition: vulkan.hpp:22941
Definition: vulkan_core.h:277
void vkDestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1623
CopyDescriptorSet(DescriptorSet srcSet_=DescriptorSet(), uint32_t srcBinding_=0, uint32_t srcArrayElement_=0, DescriptorSet dstSet_=DescriptorSet(), uint32_t dstBinding_=0, uint32_t dstArrayElement_=0, uint32_t descriptorCount_=0)
Definition: vulkan.hpp:9034
float maxContentLightLevel
Definition: vulkan.hpp:13792
bool operator!=(DedicatedAllocationMemoryAllocateInfoNV const &rhs) const
Definition: vulkan.hpp:11491
uint32_t baseArrayLayer
Definition: vulkan.hpp:19923
PFN_vkCreateImageView vkCreateImageView
Definition: vulkan.hpp:41942
uint32_t enabledExtensionCount
Definition: vulkan.hpp:8772
Flags< ObjectEntryUsageFlagBitsNVX, VkObjectEntryUsageFlagsNVX > ObjectEntryUsageFlagsNVX
Definition: vulkan.hpp:24517
uint32_t deviceNodeMask
Definition: vulkan.hpp:12175
Definition: vulkan_core.h:164
UniqueHandle(Type const &value=Type(), Deleter const &deleter=Deleter())
Definition: vulkan.hpp:353
PFN_vkCreateBuffer vkCreateBuffer
Definition: vulkan.hpp:41921
AttachmentDescription & setSamples(SampleCountFlagBits samples_)
Definition: vulkan.hpp:22958
SubmitInfo(uint32_t waitSemaphoreCount_=0, const Semaphore *pWaitSemaphores_=nullptr, const PipelineStageFlags *pWaitDstStageMask_=nullptr, uint32_t commandBufferCount_=0, const CommandBuffer *pCommandBuffers_=nullptr, uint32_t signalSemaphoreCount_=0, const Semaphore *pSignalSemaphores_=nullptr)
Definition: vulkan.hpp:30950
RenderPassSampleLocationsBeginInfoEXT & setPAttachmentInitialSampleLocations(const AttachmentSampleLocationsEXT *pAttachmentInitialSampleLocations_)
Definition: vulkan.hpp:22746
const SparseBufferMemoryBindInfo * pBufferBinds
Definition: vulkan.hpp:21385
Definition: vulkan_core.h:1220
Definition: vulkan_core.h:667
bool operator==(ProtectedSubmitInfo const &rhs) const
Definition: vulkan.hpp:14793
MemoryGetFdInfoKHR & setHandleType(ExternalMemoryHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:25955
Definition: vulkan_core.h:4311
Bool32 residencyStandard2DBlockShape
Definition: vulkan.hpp:6296
void(VKAPI_PTR * PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
Definition: vulkan_core.h:2844
PipelineColorBlendAttachmentState & setDstAlphaBlendFactor(BlendFactor dstAlphaBlendFactor_)
Definition: vulkan.hpp:18983
IndirectCommandsLayoutCreateInfoNVX(PipelineBindPoint pipelineBindPoint_=PipelineBindPoint::eGraphics, IndirectCommandsLayoutUsageFlagsNVX flags_=IndirectCommandsLayoutUsageFlagsNVX(), uint32_t tokenCount_=0, const IndirectCommandsLayoutTokenNVX *pTokens_=nullptr)
Definition: vulkan.hpp:24680
DeviceSize memoryOffset
Definition: vulkan.hpp:13079
Definition: vulkan_core.h:700
ResultValueType< void >::type bindImageMemory(Image image, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1042
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties)
Definition: vulkan_core.h:4132
Definition: vulkan_core.h:175
DeviceGroupDeviceCreateInfo(uint32_t physicalDeviceCount_=0, const PhysicalDevice *pPhysicalDevices_=nullptr)
Definition: vulkan.hpp:38333
Definition: vulkan_core.h:965
ViewportWScalingNV & operator=(VkViewportWScalingNV const &rhs)
Definition: vulkan.hpp:6954
bool operator==(ObjectTableIndexBufferEntryNVX const &rhs) const
Definition: vulkan.hpp:25185
uint32_t maxFramebufferWidth
Definition: vulkan.hpp:22308
AttachmentDescription & setFlags(AttachmentDescriptionFlags flags_)
Definition: vulkan.hpp:22946
PipelineViewportSwizzleStateCreateInfoNV(PipelineViewportSwizzleStateCreateFlagsNV flags_=PipelineViewportSwizzleStateCreateFlagsNV(), uint32_t viewportCount_=0, const ViewportSwizzleNV *pViewportSwizzles_=nullptr)
Definition: vulkan.hpp:28187
StructureType sType
Definition: vulkan.hpp:27319
bool operator!=(PipelineVertexInputStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9451
const void * pNext
Definition: vulkan.hpp:27256
void vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const
Definition: vulkan.hpp:1269
void getFormatProperties(Format format, FormatProperties *pFormatProperties, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:3959
PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR
Definition: vulkan.hpp:42106
void vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo) const
Definition: vulkan.hpp:1289
VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
Bool32 depthBoundsTestEnable
Definition: vulkan.hpp:9969
ImageResolve & setDstOffset(Offset3D dstOffset_)
Definition: vulkan.hpp:20419
ImageSwapchainCreateInfoKHR(SwapchainKHR swapchain_=SwapchainKHR())
Definition: vulkan.hpp:13471
RenderPassBeginInfo & setRenderArea(Rect2D renderArea_)
Definition: vulkan.hpp:10353
CommandBufferInheritanceInfo & setRenderPass(RenderPass renderPass_)
Definition: vulkan.hpp:19469
Definition: vulkan_core.h:2612
StructureType sType
Definition: vulkan.hpp:10610
PhysicalDeviceExternalFenceInfo(ExternalFenceHandleTypeFlagBits handleType_=ExternalFenceHandleTypeFlagBits::eOpaqueFd)
Definition: vulkan.hpp:26755
Definition: vulkan_core.h:1099
VkResult vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, VkDeviceSize stride, VkQueryResultFlags flags) const
Definition: vulkan.hpp:2149
const InputAttachmentAspectReference * pAspectReferences
Definition: vulkan.hpp:20628
Definition: vulkan_core.h:2165
Optional< const AllocationCallbacks > getAllocator() const
Definition: vulkan.hpp:1058
DebugReportCallbackCreateInfoEXT & setPfnCallback(PFN_vkDebugReportCallbackEXT pfnCallback_)
Definition: vulkan.hpp:23779
Definition: vulkan_core.h:7033
ObjectTableDescriptorSetEntryNVX(ObjectEntryTypeNVX type_=ObjectEntryTypeNVX::eDescriptorSet, ObjectEntryUsageFlagsNVX flags_=ObjectEntryUsageFlagsNVX(), PipelineLayout pipelineLayout_=PipelineLayout(), DescriptorSet descriptorSet_=DescriptorSet())
Definition: vulkan.hpp:25009
const char * pEngineName
Definition: vulkan.hpp:8671
void vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy *pRegions) const
Definition: vulkan.hpp:1201
DeviceGroupSwapchainCreateInfoKHR(DeviceGroupPresentModeFlagsKHR modes_=DeviceGroupPresentModeFlagsKHR())
Definition: vulkan.hpp:27835
uint32_t maxComputeWorkGroupInvocations
Definition: vulkan.hpp:22284
Definition: vulkan_core.h:5754
bool operator==(DeviceGroupPresentInfoKHR const &rhs) const
Definition: vulkan.hpp:27808
bool operator==(SurfaceFormat2KHR const &rhs) const
Definition: vulkan.hpp:23354
Definition: vulkan_core.h:604
VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorPool(VkDescriptorPool descriptorPool)
Definition: vulkan.hpp:3487
VkResult(VKAPI_PTR * PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines)
Definition: vulkan_core.h:2787
Result createObjectTableNVX(const ObjectTableCreateInfoNVX *pCreateInfo, const AllocationCallbacks *pAllocator, ObjectTableNVX *pObjectTable, Dispatch const &d=Dispatch()) const
SampleLocationsInfoEXT & setPSampleLocations(const SampleLocationEXT *pSampleLocations_)
Definition: vulkan.hpp:22574
Definition: vulkan_core.h:6529
bool operator==(DescriptorBufferInfo const &rhs) const
Definition: vulkan.hpp:5377
void getGroupPeerMemoryFeaturesKHR(uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, PeerMemoryFeatureFlags *pPeerMemoryFeatures, Dispatch const &d=Dispatch()) const
Flags< DescriptorBindingFlagBitsEXT, VkDescriptorBindingFlagsEXT > DescriptorBindingFlagsEXT
Definition: vulkan.hpp:29451
Bool32 depthBiasClamp
Definition: vulkan.hpp:6229
SparseImageFormatProperties formatProperties
Definition: vulkan.hpp:20821
Definition: vulkan_core.h:1172
PipelineRasterizationStateCreateFlags flags
Definition: vulkan.hpp:9828
DeviceGroupPresentInfoKHR & operator=(VkDeviceGroupPresentInfoKHR const &rhs)
Definition: vulkan.hpp:27774
uint32_t maxViewports
Definition: vulkan.hpp:22293
Definition: vulkan_core.h:6045
ResultValueType< UniquePipeline >::type createGraphicsPipelineUnique(PipelineCache pipelineCache, const GraphicsPipelineCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1053
StructureType sType
Definition: vulkan.hpp:27751
VkImageType
Definition: vulkan_core.h:748
AcquireNextImageInfoKHR & setSwapchain(SwapchainKHR swapchain_)
Definition: vulkan.hpp:13615
VkFlags VkImageCreateFlags
Definition: vulkan_core.h:1289
Bool32 planeReorderPossible
Definition: vulkan.hpp:23529
bool operator==(DescriptorUpdateTemplateEntry const &rhs) const
Definition: vulkan.hpp:7505
Definition: vulkan_core.h:5198
Bool32 descriptorBindingUpdateUnusedWhilePending
Definition: vulkan.hpp:16031
Definition: vulkan_core.h:169
Definition: vulkan_core.h:515
uint32_t firstVertex
Definition: vulkan.hpp:6368
uint32_t layerCount
Definition: vulkan.hpp:19846
ImportFenceFdInfoKHR(VkImportFenceFdInfoKHR const &rhs)
Definition: vulkan.hpp:27192
AcquireNextImageInfoKHR & operator=(VkAcquireNextImageInfoKHR const &rhs)
Definition: vulkan.hpp:13604
Definition: vulkan_core.h:651
bool operator!=(RenderPassSampleLocationsBeginInfoEXT const &rhs) const
Definition: vulkan.hpp:22779
ImageCopy & setSrcOffset(Offset3D srcOffset_)
Definition: vulkan.hpp:20173
ObjectTablePipelineEntryNVX & setFlags(ObjectEntryUsageFlagsNVX flags_)
Definition: vulkan.hpp:24972
BufferCopy & operator=(VkBufferCopy const &rhs)
Definition: vulkan.hpp:5438
RefreshCycleDurationGOOGLE & setRefreshDuration(uint64_t refreshDuration_)
Definition: vulkan.hpp:6787
DisplayPlaneAlphaFlagsKHR supportedAlpha
Definition: vulkan.hpp:23428
Definition: vulkan_core.h:523
VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent *pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers)
VertexInputAttributeDescription(VkVertexInputAttributeDescription const &rhs)
Definition: vulkan.hpp:8232
bool operator==(PhysicalDeviceExternalSemaphoreInfo const &rhs) const
Definition: vulkan.hpp:26242
DescriptorSetAllocateInfo & setDescriptorPool(DescriptorPool descriptorPool_)
Definition: vulkan.hpp:9330
Extent2D minSrcExtent
Definition: vulkan.hpp:23431
Flags< PipelineMultisampleStateCreateFlagBits, VkPipelineMultisampleStateCreateFlags > PipelineMultisampleStateCreateFlags
Definition: vulkan.hpp:2414
PipelineInputAssemblyStateCreateInfo(PipelineInputAssemblyStateCreateFlags flags_=PipelineInputAssemblyStateCreateFlags(), PrimitiveTopology topology_=PrimitiveTopology::ePointList, Bool32 primitiveRestartEnable_=0)
Definition: vulkan.hpp:9471
ShaderStageFlags stageFlags
Definition: vulkan.hpp:18396
bool operator!=(Extent2D const &rhs) const
Definition: vulkan.hpp:4905
PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR
Definition: vulkan.hpp:42078
Extent2D imageExtent
Definition: vulkan.hpp:23648
DebugReportObjectTypeEXT objectType
Definition: vulkan.hpp:23930
Definition: vulkan_core.h:2343
PipelineDepthStencilStateCreateInfo(VkPipelineDepthStencilStateCreateInfo const &rhs)
Definition: vulkan.hpp:9858
SurfaceCounterFlagsEXT surfaceCounters
Definition: vulkan.hpp:27388
bool operator==(DebugUtilsMessengerCallbackDataEXT const &rhs) const
Definition: vulkan.hpp:17180
bool operator==(DebugUtilsMessengerEXT const &rhs) const
Definition: vulkan.hpp:4715
DisplaySurfaceCreateInfoKHR & setFlags(DisplaySurfaceCreateFlagsKHR flags_)
Definition: vulkan.hpp:23564
ImageSubresourceLayers & setAspectMask(ImageAspectFlags aspectMask_)
Definition: vulkan.hpp:19801
bool operator==(PipelineCache const &rhs) const
Definition: vulkan.hpp:3974
void getFormatProperties2KHR(Format format, FormatProperties2 *pFormatProperties, Dispatch const &d=Dispatch()) const
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties *pImageFormatProperties)
void(VKAPI_PTR * PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
Definition: vulkan_core.h:5081
Definition: vulkan_core.h:345
bool operator!=(WriteDescriptorSet const &rhs) const
Definition: vulkan.hpp:9011
VkResult(VKAPI_PTR * PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)
Definition: vulkan_core.h:2746
void bindVertexBuffers(uint32_t firstBinding, uint32_t bindingCount, const Buffer *pBuffers, const DeviceSize *pOffsets, Dispatch const &d=Dispatch()) const
void reset(Type const &value=Type())
Definition: vulkan.hpp:414
BufferImageCopy(DeviceSize bufferOffset_=0, uint32_t bufferRowLength_=0, uint32_t bufferImageHeight_=0, ImageSubresourceLayers imageSubresource_=ImageSubresourceLayers(), Offset3D imageOffset_=Offset3D(), Extent3D imageExtent_=Extent3D())
Definition: vulkan.hpp:20295
Definition: vulkan_core.h:1326
const void * data
Definition: libretro.h:2285
Definition: vulkan.hpp:28116
PFN_vkCmdCopyImage vkCmdCopyImage
Definition: vulkan.hpp:41867
DeviceGroupSwapchainCreateInfoKHR & operator=(VkDeviceGroupSwapchainCreateInfoKHR const &rhs)
Definition: vulkan.hpp:27845
Definition: vulkan_core.h:635
VkResult(VKAPI_PTR * PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT *pSrcCaches)
Definition: vulkan_core.h:7218
ImageSubresourceRange & setBaseMipLevel(uint32_t baseMipLevel_)
Definition: vulkan.hpp:19877
ImageBlit(ImageSubresourceLayers srcSubresource_=ImageSubresourceLayers(), std::array< Offset3D, 2 > const &srcOffsets_={ { Offset3D(), Offset3D() } }, ImageSubresourceLayers dstSubresource_=ImageSubresourceLayers(), std::array< Offset3D, 2 > const &dstOffsets_={ { Offset3D(), Offset3D() } })
Definition: vulkan.hpp:20226
PipelineDepthStencilStateCreateInfo & setDepthTestEnable(Bool32 depthTestEnable_)
Definition: vulkan.hpp:9880
StencilOpState(StencilOp failOp_=StencilOp::eKeep, StencilOp passOp_=StencilOp::eKeep, StencilOp depthFailOp_=StencilOp::eKeep, CompareOp compareOp_=CompareOp::eNever, uint32_t compareMask_=0, uint32_t writeMask_=0, uint32_t reference_=0)
Definition: vulkan.hpp:7754
CmdProcessCommandsInfoNVX & operator=(VkCmdProcessCommandsInfoNVX const &rhs)
Definition: vulkan.hpp:37314
bool operator==(DisplayPlaneCapabilitiesKHR const &rhs) const
Definition: vulkan.hpp:23410
Definition: vulkan_core.h:249
bool operator!=(DescriptorImageInfo const &rhs) const
Definition: vulkan.hpp:7191
Definition: vulkan_core.h:1001
Bool32 timestampComputeAndGraphics
Definition: vulkan.hpp:22322
DeviceGeneratedCommandsLimitsNVX & setMinSequenceCountBufferOffsetAlignment(uint32_t minSequenceCountBufferOffsetAlignment_)
Definition: vulkan.hpp:11777
PhysicalDeviceExternalFenceInfo(VkPhysicalDeviceExternalFenceInfo const &rhs)
Definition: vulkan.hpp:26760
VkResult vkCreateSampler(VkDevice device, const VkSamplerCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSampler *pSampler) const
Definition: vulkan.hpp:1537
uint32_t maxIndirectCommandsLayoutTokenCount
Definition: vulkan.hpp:11821
DescriptorUpdateTemplateCreateInfo & setTemplateType(DescriptorUpdateTemplateType templateType_)
Definition: vulkan.hpp:16804
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR
Definition: vulkan.hpp:42115
ObjectEntryUsageFlagsNVX flags
Definition: vulkan.hpp:25070
GLuint counter
Definition: glext.h:12023
Definition: vulkan_core.h:749
PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT
Definition: vulkan.hpp:41907
Definition: vulkan_core.h:997
PhysicalDevice & operator=(std::nullptr_t)
Definition: vulkan.hpp:35800
uint32_t maxUniformBuffersPerDescriptor
Definition: vulkan.hpp:24888
Definition: vulkan_core.h:514
Definition: vulkan_core.h:4291
PastPresentationTimingGOOGLE & setPresentID(uint32_t presentID_)
Definition: vulkan.hpp:6833
bool operator!=(ClearDepthStencilValue const &rhs) const
Definition: vulkan.hpp:5699
void destroyBufferView(BufferView bufferView, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
PhysicalDeviceVertexAttributeDivisorPropertiesEXT(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs)
Definition: vulkan.hpp:16273
DisplaySurfaceCreateInfoKHR & setTransform(SurfaceTransformFlagBitsKHR transform_)
Definition: vulkan.hpp:23588
ImageSparseMemoryRequirementsInfo2 & operator=(VkImageSparseMemoryRequirementsInfo2 const &rhs)
Definition: vulkan.hpp:14414
VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo *pBeginInfo)
VkResult(VKAPI_PTR * PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkShaderModule *pShaderModule)
Definition: vulkan_core.h:2780
bool operator==(CommandPool const &rhs) const
Definition: vulkan.hpp:2768
void vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const
Definition: vulkan.hpp:1213
VkResult vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresentInfo) const
Definition: vulkan.hpp:2249
void(VKAPI_PTR * PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2 *pQueueInfo, VkQueue *pQueue)
Definition: vulkan_core.h:4375
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties)
Definition: vulkan_core.h:5009
DependencyFlagBits
Definition: vulkan.hpp:23170
DescriptorSetVariableDescriptorCountAllocateInfoEXT(uint32_t descriptorSetCount_=0, const uint32_t *pDescriptorCounts_=nullptr)
Definition: vulkan.hpp:16112
Flags< BitType > operator &(BitType bit, Flags< BitType > const &flags)
Definition: vulkan.hpp:223
Result getSurfaceCapabilitiesKHR(SurfaceKHR surface, SurfaceCapabilitiesKHR *pSurfaceCapabilities, Dispatch const &d=Dispatch()) const
Flags< MemoryHeapFlagBits, VkMemoryHeapFlags > MemoryHeapFlags
Definition: vulkan.hpp:17663
Definition: vulkan_core.h:3935
bool operator!=(PipelineViewportSwizzleStateCreateInfoNV const &rhs) const
Definition: vulkan.hpp:28242
ObjectTableCreateInfoNVX & setMaxPipelineLayouts(uint32_t maxPipelineLayouts_)
Definition: vulkan.hpp:24848
PipelineCoverageModulationStateCreateInfoNV(VkPipelineCoverageModulationStateCreateInfoNV const &rhs)
Definition: vulkan.hpp:29062
DrawIndirectCommand(VkDrawIndirectCommand const &rhs)
Definition: vulkan.hpp:6314
SemaphoreCreateInfo(VkSemaphoreCreateInfo const &rhs)
Definition: vulkan.hpp:10467
DescriptorBufferInfo & operator=(VkDescriptorBufferInfo const &rhs)
Definition: vulkan.hpp:5349
WriteDescriptorSet & operator=(VkWriteDescriptorSet const &rhs)
Definition: vulkan.hpp:8933
VkResult(VKAPI_PTR * PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool)
Definition: vulkan_core.h:2806
DeviceCreateInfo & setFlags(DeviceCreateFlags flags_)
Definition: vulkan.hpp:17442
VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNVX(std::nullptr_t)
Definition: vulkan.hpp:4086
Definition: vulkan_core.h:133
void(VKAPI_PTR * PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT *pSampleLocationsInfo)
Definition: vulkan_core.h:7071
VkResult(VKAPI_PTR * PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX *pObjectEntryTypes, const uint32_t *pObjectIndices)
Definition: vulkan_core.h:6354
float minDepth
Definition: vulkan.hpp:5057
void getImageSparseMemoryRequirements2(const ImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 *pSparseMemoryRequirements, Dispatch const &d=Dispatch()) const
ExternalMemoryHandleTypeFlagBits
Definition: vulkan.hpp:25373
Definition: vulkan_core.h:2590
ImageUsageFlags sharedPresentSupportedUsageFlags
Definition: vulkan.hpp:18582
Bool32 residencyStandard3DBlockShape
Definition: vulkan.hpp:6298
uint32_t shaderEngineCount
Definition: vulkan.hpp:15795
void vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers) const
Definition: vulkan.hpp:1783
Result createDebugReportCallbackEXT(const DebugReportCallbackCreateInfoEXT *pCreateInfo, const AllocationCallbacks *pAllocator, DebugReportCallbackEXT *pCallback, Dispatch const &d=Dispatch()) const
VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
const uint32_t * pSignalSemaphoreDeviceIndices
Definition: vulkan.hpp:13397
void vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1687
bool operator<(SurfaceKHR const &rhs) const
Definition: vulkan.hpp:4524
VULKAN_HPP_TYPESAFE_EXPLICIT ImageView(VkImageView imageView)
Definition: vulkan.hpp:3018
Definition: vulkan_core.h:1022
uint32_t stageCount
Definition: vulkan.hpp:22090
void(VKAPI_PTR * PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer)
Definition: vulkan_core.h:2856
Definition: vulkan_core.h:1224
Definition: vulkan_core.h:7014
const void * pNext
Definition: vulkan.hpp:24018
float lineWidthGranularity
Definition: vulkan.hpp:22331
uint32_t maxObjectEntryCounts
Definition: vulkan.hpp:11822
bool operator!=(VertexInputAttributeDescription const &rhs) const
Definition: vulkan.hpp:8279
DebugMarkerObjectTagInfoEXT(VkDebugMarkerObjectTagInfoEXT const &rhs)
Definition: vulkan.hpp:23947
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderInputAttachmentArrayDynamicIndexing(Bool32 shaderInputAttachmentArrayDynamicIndexing_)
Definition: vulkan.hpp:15854
SparseBufferMemoryBindInfo & setBindCount(uint32_t bindCount_)
Definition: vulkan.hpp:21104
const void * pNext
Definition: vulkan.hpp:14809
DeviceQueueInfo2(DeviceQueueCreateFlags flags_=DeviceQueueCreateFlags(), uint32_t queueFamilyIndex_=0, uint32_t queueIndex_=0)
Definition: vulkan.hpp:17532
PFN_vkCmdSetEvent vkCmdSetEvent
Definition: vulkan.hpp:41905
Definition: vulkan_core.h:6460
PFN_vkGetDeviceQueue2 vkGetDeviceQueue2
Definition: vulkan.hpp:42043
CommandBufferAllocateInfo(VkCommandBufferAllocateInfo const &rhs)
Definition: vulkan.hpp:10250
bool operator==(PipelineVertexInputDivisorStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:16243
ImageCopy & setSrcSubresource(ImageSubresourceLayers srcSubresource_)
Definition: vulkan.hpp:20167
PhysicalDeviceExternalMemoryHostPropertiesEXT & setPNext(void *pNext_)
Definition: vulkan.hpp:15593
Flags< CommandBufferResetFlagBits, VkCommandBufferResetFlags > CommandBufferResetFlags
Definition: vulkan.hpp:21558
ValidationCacheEXT & operator=(std::nullptr_t)
Definition: vulkan.hpp:4307
Definition: vulkan_core.h:2061
Viewport & setHeight(float height_)
Definition: vulkan.hpp:5015
void setLineWidth(float lineWidth, Dispatch const &d=Dispatch()) const
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties)
Definition: vulkan_core.h:4368
void setDeviceMaskKHR(uint32_t deviceMask, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:5961
ObjectTableNVX & operator=(std::nullptr_t)
Definition: vulkan.hpp:4035
bool operator!=(CommandPool const &rhs) const
Definition: vulkan.hpp:2773
ImageSubresourceRange & setBaseArrayLayer(uint32_t baseArrayLayer_)
Definition: vulkan.hpp:19889
size_t scratchMemUsageInBytes
Definition: vulkan.hpp:7068
SparseBufferMemoryBindInfo & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:21098
VkPipelineCache m_pipelineCache
Definition: vulkan.hpp:4007
Definition: vulkan_core.h:1869
Definition: vulkan_core.h:541
bool operator!=(ObjectTableCreateInfoNVX const &rhs) const
Definition: vulkan.hpp:24874
DebugUtilsLabelEXT * pCmdBufLabels
Definition: vulkan.hpp:17213
bool operator==(Event const &rhs) const
Definition: vulkan.hpp:3706
void vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1715
DescriptorSetLayoutCreateInfo & operator=(VkDescriptorSetLayoutCreateInfo const &rhs)
Definition: vulkan.hpp:25314
CommandBufferAllocateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:10260
Definition: vulkan_core.h:4874
uint8_t pipelineCacheUUID[VK_UUID_SIZE]
Definition: vulkan.hpp:22371
uint32_t deviceIndexCount
Definition: vulkan.hpp:13160
Extent3D extent
Definition: vulkan.hpp:21788
SparseImageOpaqueMemoryBindInfo & setImage(Image image_)
Definition: vulkan.hpp:21158
SamplerCreateInfo(VkSamplerCreateInfo const &rhs)
Definition: vulkan.hpp:10073
InstanceCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:8699
uint64_t desiredPresentTime
Definition: vulkan.hpp:6883
PhysicalDeviceExternalImageFormatInfo(ExternalMemoryHandleTypeFlagBits handleType_=ExternalMemoryHandleTypeFlagBits::eOpaqueFd)
Definition: vulkan.hpp:25419
DescriptorType type
Definition: vulkan.hpp:7437
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties)
Definition: vulkan_core.h:6116
uint32_t srcQueueFamilyIndex
Definition: vulkan.hpp:20039
CommandBufferBeginInfo & setPInheritanceInfo(const CommandBufferInheritanceInfo *pInheritanceInfo_)
Definition: vulkan.hpp:19571
bool operator==(DescriptorSetLayoutSupport const &rhs) const
Definition: vulkan.hpp:15379
PipelineVertexInputStateCreateInfo & setVertexAttributeDescriptionCount(uint32_t vertexAttributeDescriptionCount_)
Definition: vulkan.hpp:9423
DebugUtilsObjectNameInfoEXT & setPObjectName(const char *pObjectName_)
Definition: vulkan.hpp:16956
Bool32 multiview
Definition: vulkan.hpp:12727
void vkDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1655
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties *pFormatProperties)
Definition: vulkan_core.h:132
VULKAN_HPP_CONSTEXPR Image(std::nullptr_t)
Definition: vulkan.hpp:2947
SampleCountFlags framebufferDepthSampleCounts
Definition: vulkan.hpp:22312
Definition: vulkan_core.h:550
StructureType sType
Definition: vulkan.hpp:9457
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT *pMultisampleProperties)
Definition: vulkan_core.h:7072
void clearColorImage(Image image, ImageLayout imageLayout, const ClearColorValue *pColor, uint32_t rangeCount, const ImageSubresourceRange *pRanges, Dispatch const &d=Dispatch()) const
PhysicalDeviceConservativeRasterizationPropertiesEXT & setFullyCoveredFragmentShaderInputVariable(Bool32 fullyCoveredFragmentShaderInputVariable_)
Definition: vulkan.hpp:15704
SubmitInfo & setWaitSemaphoreCount(uint32_t waitSemaphoreCount_)
Definition: vulkan.hpp:30977
Flags< PipelineDepthStencilStateCreateFlagBits, VkPipelineDepthStencilStateCreateFlags > PipelineDepthStencilStateCreateFlags
Definition: vulkan.hpp:2396
PhysicalDeviceType
Definition: vulkan.hpp:7882
StructureType sType
Definition: vulkan.hpp:22427
Definition: vulkan_core.h:524
PhysicalDeviceBlendOperationAdvancedFeaturesEXT & operator=(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs)
Definition: vulkan.hpp:15067
ExportFenceCreateInfo & setHandleTypes(ExternalFenceHandleTypeFlags handleTypes_)
Definition: vulkan.hpp:26833
ImportSemaphoreFdInfoKHR(Semaphore semaphore_=Semaphore(), SemaphoreImportFlags flags_=SemaphoreImportFlags(), ExternalSemaphoreHandleTypeFlagBits handleType_=ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd, int fd_=0)
Definition: vulkan.hpp:26639
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
SampleLocationsInfoEXT(VkSampleLocationsInfoEXT const &rhs)
Definition: vulkan.hpp:22540
SubpassDescription & setColorAttachmentCount(uint32_t colorAttachmentCount_)
Definition: vulkan.hpp:28422
FrontFace
Definition: vulkan.hpp:7656
PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties
Definition: vulkan.hpp:42016
Bool32 shaderUniformTexelBufferArrayNonUniformIndexing
Definition: vulkan.hpp:16023
DeviceSize offset
Definition: vulkan.hpp:5416
Definition: vulkan_core.h:1314
ImageFormatProperties imageFormatProperties
Definition: vulkan.hpp:22431
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDisplayModeKHR *pMode)
Definition: vulkan_core.h:1421
CommandBufferInheritanceInfo(RenderPass renderPass_=RenderPass(), uint32_t subpass_=0, Framebuffer framebuffer_=Framebuffer(), Bool32 occlusionQueryEnable_=0, QueryControlFlags queryFlags_=QueryControlFlags(), QueryPipelineStatisticFlags pipelineStatistics_=QueryPipelineStatisticFlags())
Definition: vulkan.hpp:19443
ShaderStageFlags supportedStages
Definition: vulkan.hpp:24477
const void * pNext
Definition: vulkan.hpp:22088
DeviceCreateInfo & setQueueCreateInfoCount(uint32_t queueCreateInfoCount_)
Definition: vulkan.hpp:17448
uint32_t dstQueueFamilyIndex
Definition: vulkan.hpp:17973
Definition: vulkan_core.h:984
Definition: vulkan_core.h:1101
IndirectCommandsLayoutCreateInfoNVX & setTokenCount(uint32_t tokenCount_)
Definition: vulkan.hpp:24716
void linkAndCopy(StructureChain const &rhs)
Definition: vulkan.hpp:505
RasterizationOrderAMD rasterizationOrder
Definition: vulkan.hpp:24084
void vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties) const
Definition: vulkan.hpp:2069
VkSampleCountFlagBits
Definition: vulkan_core.h:1291
VkResult vkCreateEvent(VkDevice device, const VkEventCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkEvent *pEvent) const
Definition: vulkan.hpp:1467
void * pNext
Definition: vulkan.hpp:26507
void(VKAPI_PTR * PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR *pSwapchains, const VkHdrMetadataEXT *pMetadata)
Definition: vulkan_core.h:6795
SampleCountFlags sampledImageColorSampleCounts
Definition: vulkan.hpp:22316
PhysicalDeviceDescriptorIndexingFeaturesEXT & setPNext(void *pNext_)
Definition: vulkan.hpp:15848
DebugUtilsMessengerCallbackDataEXT & setObjectCount(uint32_t objectCount_)
Definition: vulkan.hpp:17163
BindBufferMemoryInfo(Buffer buffer_=Buffer(), DeviceMemory memory_=DeviceMemory(), DeviceSize memoryOffset_=0)
Definition: vulkan.hpp:12871
DedicatedAllocationMemoryAllocateInfoNV(Image image_=Image(), Buffer buffer_=Buffer())
Definition: vulkan.hpp:11444
bool operator!=(MemoryHeap const &rhs) const
Definition: vulkan.hpp:17696
void vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const
Definition: vulkan.hpp:1249
Definition: vulkan_xcb.h:36
SamplerYcbcrConversion conversion
Definition: vulkan.hpp:14638
PFN_vkCmdResetQueryPool vkCmdResetQueryPool
Definition: vulkan.hpp:41897
bool operator!() const
Definition: vulkan.hpp:2728
Definition: vulkan_core.h:1025
void destroyDebugUtilsMessengerEXT(DebugUtilsMessengerEXT messenger, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
ComponentMapping components
Definition: vulkan.hpp:28909
DisplayPlaneAlphaFlagBitsKHR
Definition: vulkan.hpp:23375
Definition: vulkan_core.h:2276
bool operator==(RenderPass const &rhs) const
Definition: vulkan.hpp:3907
VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers)
VULKAN_HPP_CONSTEXPR BufferView(std::nullptr_t)
Definition: vulkan.hpp:2880
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures)
Definition: vulkan_core.h:5008
PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask
Definition: vulkan.hpp:41911
Flags< PipelineVertexInputStateCreateFlagBits, VkPipelineVertexInputStateCreateFlags > PipelineVertexInputStateCreateFlags
Definition: vulkan.hpp:2444
void vkQueueInsertDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo) const
Definition: vulkan.hpp:2245
InstanceCreateInfo & operator=(VkInstanceCreateInfo const &rhs)
Definition: vulkan.hpp:8694
DisplayModeCreateFlagBitsKHR
Definition: vulkan.hpp:2514
bool operator==(DisplayEventInfoEXT const &rhs) const
Definition: vulkan.hpp:27553
bool operator==(ExternalMemoryImageCreateInfoNV const &rhs) const
Definition: vulkan.hpp:24150
bool operator==(CmdProcessCommandsInfoNVX const &rhs) const
Definition: vulkan.hpp:37390
Definition: vulkan_core.h:1553
PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines
Definition: vulkan.hpp:41937
bool operator!=(PhysicalDeviceSparseProperties const &rhs) const
Definition: vulkan.hpp:6291
Definition: vulkan_core.h:517
Definition: vulkan.hpp:5709
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)
Definition: vulkan_core.h:5013
PipelineSampleLocationsStateCreateInfoEXT(Bool32 sampleLocationsEnable_=0, SampleLocationsInfoEXT sampleLocationsInfo_=SampleLocationsInfoEXT())
Definition: vulkan.hpp:22798
PhysicalDeviceShaderDrawParameterFeatures(VkPhysicalDeviceShaderDrawParameterFeatures const &rhs)
Definition: vulkan.hpp:15409
CommandPool commandPool
Definition: vulkan.hpp:10308
Definition: vulkan_core.h:323
VkDisplayModeKHR m_displayModeKHR
Definition: vulkan.hpp:4480
uint32_t wavefrontSize
Definition: vulkan.hpp:15800
DrawIndexedIndirectCommand(VkDrawIndexedIndirectCommand const &rhs)
Definition: vulkan.hpp:6384
uint32_t y
Definition: vulkan.hpp:6506
RenderPassMultiviewCreateInfo & setSubpassCount(uint32_t subpassCount_)
Definition: vulkan.hpp:12795
Definition: vulkan.hpp:4284
VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
bool operator==(PhysicalDeviceSampleLocationsPropertiesEXT const &rhs) const
Definition: vulkan.hpp:22867
SparseImageMemoryBindInfo & operator=(VkSparseImageMemoryBindInfo const &rhs)
Definition: vulkan.hpp:21213
PhysicalDeviceSamplerYcbcrConversionFeatures(Bool32 samplerYcbcrConversion_=0)
Definition: vulkan.hpp:14646
uint32_t maxFragmentOutputAttachments
Definition: vulkan.hpp:22279
ResultValueType< std::vector< UniqueSwapchainKHR, Allocator > >::type createSharedSwapchainsKHRUnique(ArrayProxy< const SwapchainCreateInfoKHR > createInfos, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
QueryControlFlagBits
Definition: vulkan.hpp:19326
Definition: vulkan_core.h:3744
Flags< PipelineStageFlagBits, VkPipelineStageFlags > PipelineStageFlags
Definition: vulkan.hpp:21417
DeviceGeneratedCommandsLimitsNVX(uint32_t maxIndirectCommandsLayoutTokenCount_=0, uint32_t maxObjectEntryCounts_=0, uint32_t minSequenceCountBufferOffsetAlignment_=0, uint32_t minSequenceIndexBufferOffsetAlignment_=0, uint32_t minCommandsTokenBufferOffsetAlignment_=0)
Definition: vulkan.hpp:11740
ComputePipelineCreateInfo & setLayout(PipelineLayout layout_)
Definition: vulkan.hpp:18849
StencilOpState & setWriteMask(uint32_t writeMask_)
Definition: vulkan.hpp:7805
Definition: vulkan_core.h:176
float maxSamplerAnisotropy
Definition: vulkan.hpp:22292
VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR *pSwapchains, const VkHdrMetadataEXT *pMetadata)
BufferCreateFlagBits
Definition: vulkan.hpp:18013
VkResult(VKAPI_PTR * PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE *pDisplayTimingProperties)
Definition: vulkan_core.h:6602
PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
Definition: vulkan.hpp:42085
const void * pInitialData
Definition: vulkan.hpp:10047
Definition: vulkan_core.h:589
VkResult(VKAPI_PTR * PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display *dpy, VkDisplayKHR display)
Definition: vulkan_xlib_xrandr.h:34
SubpassDependency & setDstAccessMask(AccessFlags dstAccessMask_)
Definition: vulkan.hpp:23252
PipelineLayoutCreateInfo(VkPipelineLayoutCreateInfo const &rhs)
Definition: vulkan.hpp:18413
void(VKAPI_PTR * PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements)
Definition: vulkan_core.h:2751
PresentTimesInfoGOOGLE & setPTimes(const PresentTimeGOOGLE *pTimes_)
Definition: vulkan.hpp:13827
const void * pNext
Definition: vulkan.hpp:13235
bool operator==(PhysicalDeviceFeatures2 const &rhs) const
Definition: vulkan.hpp:11936
Definition: vulkan_core.h:4548
PhysicalDevicePushDescriptorPropertiesKHR(uint32_t maxPushDescriptors_=0)
Definition: vulkan.hpp:11961
const void * pNext
Definition: vulkan.hpp:26711
StructureType sType
Definition: vulkan.hpp:26988
void destroySemaphore(Semaphore semaphore, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
uint32_t queueCount
Definition: vulkan.hpp:17269
const void * pNext
Definition: vulkan.hpp:13855
Result freeDescriptorSets(DescriptorPool descriptorPool, uint32_t descriptorSetCount, const DescriptorSet *pDescriptorSets, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:2487
uint32_t mipLevels
Definition: vulkan.hpp:21789
Definition: vulkan_core.h:151
void(VKAPI_PTR * PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport)
Definition: vulkan_core.h:5722
PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR
Definition: vulkan.hpp:41903
ImageType type
Definition: vulkan.hpp:18770
VkResult(VKAPI_PTR * PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos)
Definition: vulkan_core.h:5698
Bool32 strictLines
Definition: vulkan.hpp:22332
DeviceGroupCommandBufferBeginInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:13261
CommandPoolCreateFlagBits
Definition: vulkan.hpp:21437
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderUniformBufferArrayNonUniformIndexing(Bool32 shaderUniformBufferArrayNonUniformIndexing_)
Definition: vulkan.hpp:15872
VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements)
PresentInfoKHR(VkPresentInfoKHR const &rhs)
Definition: vulkan.hpp:16572
Definition: vulkan_core.h:2034
ExternalMemoryImageCreateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:24133
bool operator!=(DebugMarkerObjectNameInfoEXT const &rhs) const
Definition: vulkan.hpp:23920
StructureType sType
Definition: vulkan.hpp:17515
ArrayProxy(std::array< typename std::remove_const< T >::type, N > &data)
Definition: vulkan.hpp:272
const void * pNext
Definition: vulkan.hpp:26315
Definition: vulkan_core.h:490
ImageFormatListCreateInfoKHR & setViewFormatCount(uint32_t viewFormatCount_)
Definition: vulkan.hpp:15172
DisplayPresentInfoKHR(VkDisplayPresentInfoKHR const &rhs)
Definition: vulkan.hpp:10697
bool operator!() const
Definition: vulkan.hpp:3465
void vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties) const
Definition: vulkan.hpp:2065
VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:1744
DeviceGroupPresentInfoKHR(uint32_t swapchainCount_=0, const uint32_t *pDeviceMasks_=nullptr, DeviceGroupPresentModeFlagBitsKHR mode_=DeviceGroupPresentModeFlagBitsKHR::eLocal)
Definition: vulkan.hpp:27762
VKAPI_ATTR void VKAPI_CALL vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
Definition: vulkan_core.h:498
uint32_t instanceCount
Definition: vulkan.hpp:6444
Definition: vulkan_core.h:168
Definition: vulkan_core.h:4592
SparseImageMemoryRequirements memoryRequirements
Definition: vulkan.hpp:20883
StructureType sType
Definition: vulkan.hpp:27691
Format format
Definition: vulkan.hpp:21787
Definition: vulkan_core.h:1387
Definition: vulkan.hpp:7752
Definition: vulkan_core.h:772
bool operator!=(RectLayerKHR const &rhs) const
Definition: vulkan.hpp:6657
ObjectTableCreateInfoNVX(VkObjectTableCreateInfoNVX const &rhs)
Definition: vulkan.hpp:24784
const uint32_t * pQueueFamilyIndices
Definition: vulkan.hpp:18137
Bool32 shaderStorageImageArrayNonUniformIndexing
Definition: vulkan.hpp:16021
VkResult vkGetShaderInfoAMD(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t *pInfoSize, void *pInfo) const
Definition: vulkan.hpp:2177
ObjectTableCreateInfoNVX & setPObjectEntryUsageFlags(const ObjectEntryUsageFlagsNVX *pObjectEntryUsageFlags_)
Definition: vulkan.hpp:24818
DebugMarkerObjectTagInfoEXT & setObject(uint64_t object_)
Definition: vulkan.hpp:23969
SubpassDependency & setDependencyFlags(DependencyFlags dependencyFlags_)
Definition: vulkan.hpp:23258
DeviceGroupSubmitInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:13323
Definition: vulkan_core.h:370
PipelineShaderStageCreateInfo & setFlags(PipelineShaderStageCreateFlags flags_)
Definition: vulkan.hpp:18278
bool operator<(DescriptorSetLayout const &rhs) const
Definition: vulkan.hpp:3448
VkResult vkCreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchain) const
Definition: vulkan.hpp:1561
Definition: vulkan_core.h:4710
RectLayerKHR(VkRectLayerKHR const &rhs)
Definition: vulkan.hpp:6617
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR
Definition: vulkan.hpp:42117
ResultValueType< std::vector< UniquePipeline, Allocator > >::type createGraphicsPipelinesUnique(PipelineCache pipelineCache, ArrayProxy< const GraphicsPipelineCreateInfo > createInfos, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Offset3D(int32_t x_=0, int32_t y_=0, int32_t z_=0)
Definition: vulkan.hpp:4806
VkResult vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const
Definition: vulkan.hpp:2285
Result getImageFormatProperties2KHR(const PhysicalDeviceImageFormatInfo2 *pImageFormatInfo, ImageFormatProperties2 *pImageFormatProperties, Dispatch const &d=Dispatch()) const
ImageType imageType
Definition: vulkan.hpp:21786
const uint32_t * pDeviceIndices
Definition: vulkan.hpp:13161
PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties
Definition: vulkan.hpp:42107
DebugUtilsMessengerCallbackDataEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:17109
Bool32 compareEnable
Definition: vulkan.hpp:10232
Definition: vulkan_core.h:1134
uint32_t size() const
Definition: vulkan.hpp:327
QueryPoolCreateInfo & setFlags(QueryPoolCreateFlags flags_)
Definition: vulkan.hpp:19631
uint32_t coverageModulationTableCount
Definition: vulkan.hpp:29137
Definition: vulkan_core.h:1269
Definition: vulkan_core.h:1582
void vkDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1683
Definition: vulkan_core.h:4209
Definition: vulkan_core.h:801
PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer
Definition: vulkan.hpp:41914
ViewportSwizzleNV & setW(ViewportCoordinateSwizzleNV w_)
Definition: vulkan.hpp:28154
MemoryPropertyFlagBits
Definition: vulkan.hpp:17603
SurfaceCounterFlagBitsEXT
Definition: vulkan.hpp:27264
Result bindBufferMemory2KHR(uint32_t bindInfoCount, const BindBufferMemoryInfo *pBindInfos, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1350
void copyBuffer(Buffer srcBuffer, Buffer dstBuffer, uint32_t regionCount, const BufferCopy *pRegions, Dispatch const &d=Dispatch()) const
ShaderModuleCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9251
Definition: vulkan.hpp:5113
ExternalMemoryProperties externalMemoryProperties
Definition: vulkan.hpp:26166
PipelineColorBlendStateCreateInfo & setAttachmentCount(uint32_t attachmentCount_)
Definition: vulkan.hpp:19080
uint32_t width
Definition: vulkan.hpp:4910
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIOSSurfaceMVK(VkInstance instance, const VkIOSSurfaceCreateInfoMVK *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_core.h:4032
FormatFeatureFlagBits
Definition: vulkan.hpp:19214
bool operator==(PipelineViewportSwizzleStateCreateInfoNV const &rhs) const
Definition: vulkan.hpp:28233
bool operator!() const
Definition: vulkan.hpp:3666
bool operator==(PhysicalDeviceSparseImageFormatInfo2 const &rhs) const
Definition: vulkan.hpp:22499
Definition: vulkan_core.h:567
VkResult(VKAPI_PTR * PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDisplayModeKHR *pMode)
Definition: vulkan_core.h:4897
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pMessenger)
PhysicalDeviceBlendOperationAdvancedFeaturesEXT & setPNext(void *pNext_)
Definition: vulkan.hpp:15072
Bool32 fillModeNonSolid
Definition: vulkan.hpp:6230
Definition: vulkan.hpp:3476
Definition: vulkan_core.h:6228
VULKAN_HPP_INLINE void swap(UniqueHandle< Type > &lhs, UniqueHandle< Type > &rhs)
Definition: vulkan.hpp:441
PFN_vkCmdSetStencilReference vkCmdSetStencilReference
Definition: vulkan.hpp:41910
bool operator!=(ImportMemoryHostPointerInfoEXT const &rhs) const
Definition: vulkan.hpp:26038
uint32_t dstBinding
Definition: vulkan.hpp:9022
Definition: vulkan_core.h:2699
DescriptorPoolCreateInfo & setPPoolSizes(const DescriptorPoolSize *pPoolSizes_)
Definition: vulkan.hpp:23132
void(VKAPI_PTR * PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4])
Definition: vulkan_core.h:2819
TessellationDomainOrigin domainOrigin
Definition: vulkan.hpp:28763
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR *pGetFdInfo, int *pFd)
StructureType sType
Definition: vulkan.hpp:24407
bool operator!() const
Definition: vulkan.hpp:180
Definition: vulkan_core.h:1348
VkDescriptorPool m_descriptorPool
Definition: vulkan.hpp:3538
Definition: vulkan_core.h:2245
BufferViewCreateFlags flags
Definition: vulkan.hpp:9224
Definition: vulkan_core.h:7209
PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures
Definition: vulkan.hpp:42036
Definition: vulkan_core.h:580
VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements *pSparseMemoryRequirements)
const void * pNext
Definition: vulkan.hpp:26258
const Rect2D * pSplitInstanceBindRegions
Definition: vulkan.hpp:13163
SwapchainCreateInfoKHR & setOldSwapchain(SwapchainKHR oldSwapchain_)
Definition: vulkan.hpp:28042
bool operator==(Fence const &rhs) const
Definition: vulkan.hpp:3572
bool operator!=(DisplayPropertiesKHR const &rhs) const
Definition: vulkan.hpp:23519
Flags< ShaderStageFlagBits, VkShaderStageFlags > ShaderStageFlags
Definition: vulkan.hpp:18153
Definition: vulkan.hpp:5544
uint32_t mipmapPrecisionBits
Definition: vulkan.hpp:22288
uint32_t maxFragmentInputComponents
Definition: vulkan.hpp:22278
PoolFree(OwnerType owner=OwnerType(), PoolType pool=PoolType())
Definition: vulkan.hpp:1076
VULKAN_HPP_CONSTEXPR BufferView()
Definition: vulkan.hpp:2876
PFN_vkUnmapMemory vkUnmapMemory
Definition: vulkan.hpp:42183
void getImageSparseMemoryRequirements2KHR(const ImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 *pSparseMemoryRequirements, Dispatch const &d=Dispatch()) const
SemaphoreGetFdInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:26406
Flags< AccessFlagBits, VkAccessFlags > AccessFlags
Definition: vulkan.hpp:17787
ObjectTableVertexBufferEntryNVX & setFlags(ObjectEntryUsageFlagsNVX flags_)
Definition: vulkan.hpp:25101
DeviceEventInfoEXT(DeviceEventTypeEXT deviceEvent_=DeviceEventTypeEXT::eDisplayHotplug)
Definition: vulkan.hpp:27461
DisplayModeParametersKHR(VkDisplayModeParametersKHR const &rhs)
Definition: vulkan.hpp:6542
Definition: vulkan_core.h:6271
IndirectCommandsTokenTypeNVX
Definition: vulkan.hpp:24537
SparseMemoryBind & setMemory(DeviceMemory memory_)
Definition: vulkan.hpp:20947
ValidationCacheCreateInfoEXT & setFlags(ValidationCacheCreateFlagsEXT flags_)
Definition: vulkan.hpp:15237
Definition: vulkan_core.h:4670
ResultValueType< UniquePipelineLayout >::type createPipelineLayoutUnique(const PipelineLayoutCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
void getBufferMemoryRequirements2KHR(const BufferMemoryRequirementsInfo2 *pInfo, MemoryRequirements2 *pMemoryRequirements, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:976
DeviceMemory memory
Definition: vulkan.hpp:12937
bool operator!=(SwapchainCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:28075
RenderPassMultiviewCreateInfo(uint32_t subpassCount_=0, const uint32_t *pViewMasks_=nullptr, uint32_t dependencyCount_=0, const int32_t *pViewOffsets_=nullptr, uint32_t correlationMaskCount_=0, const uint32_t *pCorrelationMasks_=nullptr)
Definition: vulkan.hpp:12769
ExternalSemaphoreHandleTypeFlags handleTypes
Definition: vulkan.hpp:26316
Offset2D(VkOffset2D const &rhs)
Definition: vulkan.hpp:4761
Definition: vulkan_core.h:5486
CommandBufferAllocateInfo(CommandPool commandPool_=CommandPool(), CommandBufferLevel level_=CommandBufferLevel::ePrimary, uint32_t commandBufferCount_=0)
Definition: vulkan.hpp:10243
StructureType sType
Definition: vulkan.hpp:18889
StructureType sType
Definition: vulkan.hpp:19676
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR *pGetFdInfo, int *pFd)
PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT
Definition: vulkan.hpp:41854
Result getSurfaceCapabilities2EXT(SurfaceKHR surface, SurfaceCapabilities2EXT *pSurfaceCapabilities, Dispatch const &d=Dispatch()) const
SparseMemoryBind & operator=(VkSparseMemoryBind const &rhs)
Definition: vulkan.hpp:20930
Definition: vulkan.hpp:18041
bool operator==(ShaderModule const &rhs) const
Definition: vulkan.hpp:3103
bool operator==(DeviceCreateInfo const &rhs) const
Definition: vulkan.hpp:17495
Definition: vulkan_core.h:1182
bool operator==(StencilOpState const &rhs) const
Definition: vulkan.hpp:7822
DescriptorUpdateTemplateCreateInfo & setDescriptorSetLayout(DescriptorSetLayout descriptorSetLayout_)
Definition: vulkan.hpp:16810
DebugReportObjectTypeEXT
Definition: vulkan.hpp:23821
Definition: vulkan.hpp:29631
Definition: vulkan_core.h:2456
DeviceGroupRenderPassBeginInfo(VkDeviceGroupRenderPassBeginInfo const &rhs)
Definition: vulkan.hpp:13178
PhysicalDeviceImageFormatInfo2 & setFlags(ImageCreateFlags flags_)
Definition: vulkan.hpp:18737
PhysicalDeviceFeatures & setFragmentStoresAndAtomics(Bool32 fragmentStoresAndAtomics_)
Definition: vulkan.hpp:5974
DebugUtilsObjectNameInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:16938
Definition: vulkan_core.h:1096
#define VK_MAX_DEVICE_GROUP_SIZE
Definition: vulkan_core.h:3665
FrontFace frontFace
Definition: vulkan.hpp:9833
AcquireNextImageInfoKHR & setDeviceMask(uint32_t deviceMask_)
Definition: vulkan.hpp:13639
VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(VkCommandBuffer commandBuffer)
Definition: vulkan_core.h:2013
PhysicalDeviceProtectedMemoryFeatures & operator=(VkPhysicalDeviceProtectedMemoryFeatures const &rhs)
Definition: vulkan.hpp:14826
VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(VkDevice device, const VkDebugUtilsObjectTagInfoEXT *pTagInfo)
PhysicalDeviceVariablePointerFeatures & operator=(VkPhysicalDeviceVariablePointerFeatures const &rhs)
Definition: vulkan.hpp:12091
DescriptorSetLayout descriptorSetLayout
Definition: vulkan.hpp:16867
MemoryAllocateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:8795
XYColorEXT displayPrimaryRed
Definition: vulkan.hpp:13786
uint32_t maxStorageBufferRange
Definition: vulkan.hpp:22238
VULKAN_HPP_CONSTEXPR ArrayProxy(std::nullptr_t)
Definition: vulkan.hpp:256
ExternalMemoryHandleTypeFlagsNV handleTypes
Definition: vulkan.hpp:24222
bool operator!=(DeviceQueueCreateInfo const &rhs) const
Definition: vulkan.hpp:17395
DescriptorUpdateTemplateCreateInfo & setDescriptorUpdateEntryCount(uint32_t descriptorUpdateEntryCount_)
Definition: vulkan.hpp:16792
uint32_t descriptorCount
Definition: vulkan.hpp:9024
Definition: vulkan_core.h:1674
PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr
Definition: vulkan.hpp:42041
ImportMemoryHostPointerInfoEXT(VkImportMemoryHostPointerInfoEXT const &rhs)
Definition: vulkan.hpp:25997
Definition: vulkan.hpp:13010
Definition: vulkan_win32.h:114
PFN_vkCmdDrawIndirect vkCmdDrawIndirect
Definition: vulkan.hpp:41881
AttachmentReference & setLayout(ImageLayout layout_)
Definition: vulkan.hpp:7226
bool operator<(DescriptorPool const &rhs) const
Definition: vulkan.hpp:3515
PhysicalDeviceFeatures & setSparseResidency4Samples(Bool32 sparseResidency4Samples_)
Definition: vulkan.hpp:6112
void(VKAPI_PTR * PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment *pAttachments, uint32_t rectCount, const VkClearRect *pRects)
Definition: vulkan_core.h:2842
Definition: vulkan.hpp:7391
Result unregisterObjectsNVX(ObjectTableNVX objectTable, uint32_t objectCount, const ObjectEntryTypeNVX *pObjectEntryTypes, const uint32_t *pObjectIndices, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:516
ImportMemoryHostPointerInfoEXT(ExternalMemoryHandleTypeFlagBits handleType_=ExternalMemoryHandleTypeFlagBits::eOpaqueFd, void *pHostPointer_=nullptr)
Definition: vulkan.hpp:25991
DescriptorPoolResetFlagBits
Definition: vulkan.hpp:2500
const void * pNext
Definition: vulkan.hpp:16985
ComponentSwizzle r
Definition: vulkan.hpp:7369
ImageViewType viewType
Definition: vulkan.hpp:20139
bool operator!=(QueueFamilyProperties2 const &rhs) const
Definition: vulkan.hpp:17289
Definition: vulkan_core.h:621
DebugMarkerMarkerInfoEXT & setColor(std::array< float, 4 > color_)
Definition: vulkan.hpp:11298
Definition: vulkan_core.h:799
const char * pMarkerName
Definition: vulkan.hpp:11327
Definition: vulkan_core.h:926
Definition: vulkan_core.h:1602
VULKAN_HPP_CONSTEXPR QueryPool(std::nullptr_t)
Definition: vulkan.hpp:3751
uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages
Definition: vulkan.hpp:16095
PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties
Definition: vulkan.hpp:42093
Definition: vulkan_core.h:4613
void(VKAPI_PTR * PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
Definition: vulkan_core.h:2829
DeviceGroupCommandBufferBeginInfo(VkDeviceGroupCommandBufferBeginInfo const &rhs)
Definition: vulkan.hpp:13251
SubpassDescription & operator=(VkSubpassDescription const &rhs)
Definition: vulkan.hpp:28393
PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2
Definition: vulkan.hpp:42087
uint32_t maxGeometryShaderInvocations
Definition: vulkan.hpp:22273
Definition: vulkan_core.h:4556
VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue)
Definition: vulkan_core.h:1188
PipelineSampleLocationsStateCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:22814
bool operator==(DispatchIndirectCommand const &rhs) const
Definition: vulkan.hpp:6493
DebugUtilsObjectNameInfoEXT(VkDebugUtilsObjectNameInfoEXT const &rhs)
Definition: vulkan.hpp:16928
DescriptorUpdateTemplateCreateFlagBits
Definition: vulkan.hpp:2506
VkFlags VkDeviceGroupPresentModeFlagsKHR
Definition: vulkan_core.h:4676
PFN_vkCmdDispatchBase vkCmdDispatchBase
Definition: vulkan.hpp:41874
Definition: vulkan_core.h:4191
Definition: vulkan.hpp:20914
GLint level
Definition: glext.h:6293
PFN_vkResetFences vkResetFences
Definition: vulkan.hpp:42175
Definition: vulkan_core.h:145
PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT
Definition: vulkan.hpp:41979
ResultValueType< UniqueSemaphore >::type createSemaphoreUnique(const SemaphoreCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:4014
uint32_t queueFamilyIndex
Definition: vulkan.hpp:17406
PFN_vkCmdNextSubpass vkCmdNextSubpass
Definition: vulkan.hpp:41889
Flags< PipelineCoverageModulationStateCreateFlagBitsNV, VkPipelineCoverageModulationStateCreateFlagsNV > PipelineCoverageModulationStateCreateFlagsNV
Definition: vulkan.hpp:2646
Definition: vulkan_core.h:988
const void * pNext
Definition: vulkan.hpp:23814
bool operator!=(DeviceGroupPresentInfoKHR const &rhs) const
Definition: vulkan.hpp:27817
IndirectCommandsTokenTypeNVX tokenType
Definition: vulkan.hpp:24671
RefreshCycleDurationGOOGLE & operator=(VkRefreshCycleDurationGOOGLE const &rhs)
Definition: vulkan.hpp:6782
DeviceLostError(std::string const &message)
Definition: vulkan.hpp:695
ImageSubresource & operator=(VkImageSubresource const &rhs)
Definition: vulkan.hpp:19735
void clearAttachments(uint32_t attachmentCount, const ClearAttachment *pAttachments, uint32_t rectCount, const ClearRect *pRects, Dispatch const &d=Dispatch()) const
VULKAN_HPP_CONSTEXPR Instance()
Definition: vulkan.hpp:37477
PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR
Definition: vulkan.hpp:42045
PipelineColorBlendStateCreateInfo(PipelineColorBlendStateCreateFlags flags_=PipelineColorBlendStateCreateFlags(), Bool32 logicOpEnable_=0, LogicOp logicOp_=LogicOp::eClear, uint32_t attachmentCount_=0, const PipelineColorBlendAttachmentState *pAttachments_=nullptr, std::array< float, 4 > const &blendConstants_={ { 0, 0, 0, 0 } })
Definition: vulkan.hpp:19036
DeviceGroupRenderPassBeginInfo & setPDeviceRenderAreas(const Rect2D *pDeviceRenderAreas_)
Definition: vulkan.hpp:13206
Definition: vulkan_core.h:620
bool operator!() const
Definition: vulkan.hpp:4474
Flags< MemoryMapFlagBits, VkMemoryMapFlags > MemoryMapFlags
Definition: vulkan.hpp:2498
Definition: vulkan_core.h:2664
ResultValueType< UniqueImageView >::type createImageViewUnique(const ImageViewCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1418
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pSurfaceFormatCount, VkSurfaceFormatKHR *pSurfaceFormats)
Definition: vulkan_core.h:4622
RenderPassCreateInfo(RenderPassCreateFlags flags_=RenderPassCreateFlags(), uint32_t attachmentCount_=0, const AttachmentDescription *pAttachments_=nullptr, uint32_t subpassCount_=0, const SubpassDescription *pSubpasses_=nullptr, uint32_t dependencyCount_=0, const SubpassDependency *pDependencies_=nullptr)
Definition: vulkan.hpp:28497
bool operator!=(SamplerReductionModeCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:28690
ExternalFenceHandleTypeFlags compatibleHandleTypes
Definition: vulkan.hpp:27054
PipelineRasterizationStateCreateInfo & setDepthClampEnable(Bool32 depthClampEnable_)
Definition: vulkan.hpp:9736
PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR
Definition: vulkan.hpp:42064
SubpassDescription(SubpassDescriptionFlags flags_=SubpassDescriptionFlags(), PipelineBindPoint pipelineBindPoint_=PipelineBindPoint::eGraphics, uint32_t inputAttachmentCount_=0, const AttachmentReference *pInputAttachments_=nullptr, uint32_t colorAttachmentCount_=0, const AttachmentReference *pColorAttachments_=nullptr, const AttachmentReference *pResolveAttachments_=nullptr, const AttachmentReference *pDepthStencilAttachment_=nullptr, uint32_t preserveAttachmentCount_=0, const uint32_t *pPreserveAttachments_=nullptr)
Definition: vulkan.hpp:28374
Definition: vulkan_core.h:2226
BufferCreateFlags flags
Definition: vulkan.hpp:25541
DeviceQueueCreateFlags flags
Definition: vulkan.hpp:17405
Definition: vulkan_core.h:7133
PFN_vkDestroyCommandPool vkDestroyCommandPool
Definition: vulkan.hpp:41984
PhysicalDeviceFeatures & setShaderStorageImageMultisample(Bool32 shaderStorageImageMultisample_)
Definition: vulkan.hpp:5998
DeviceQueueInfo2 & setQueueFamilyIndex(uint32_t queueFamilyIndex_)
Definition: vulkan.hpp:17561
ImageCopy & setDstSubresource(ImageSubresourceLayers dstSubresource_)
Definition: vulkan.hpp:20179
DeviceQueueCreateInfo & operator=(VkDeviceQueueCreateInfo const &rhs)
Definition: vulkan.hpp:17345
CommandBufferBeginInfo & setFlags(CommandBufferUsageFlags flags_)
Definition: vulkan.hpp:19565
StructureType sType
Definition: vulkan.hpp:26857
bool operator==(SpecializationInfo const &rhs) const
Definition: vulkan.hpp:5593
Definition: vulkan_core.h:633
Definition: vulkan_core.h:1175
Bool32 shaderStorageBufferArrayNonUniformIndexing
Definition: vulkan.hpp:16020
bool operator!() const
Definition: vulkan.hpp:4340
PipelineCoverageToColorStateCreateInfoNV & setFlags(PipelineCoverageToColorStateCreateFlagsNV flags_)
Definition: vulkan.hpp:14949
Flags< BitType > operator|(Flags< BitType > const &rhs) const
Definition: vulkan.hpp:159
bool operator!=(PipelineCoverageModulationStateCreateInfoNV const &rhs) const
Definition: vulkan.hpp:29124
DisplayModeKHR displayMode
Definition: vulkan.hpp:6603
Definition: vulkan.hpp:5395
ValidationCacheCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:15231
ResultValueType< void >::type setEvent(Event event, Dispatch const &d=Dispatch()) const
Definition: vulkan.hpp:17530
bool operator!=(RenderPassInputAttachmentAspectCreateInfo const &rhs) const
Definition: vulkan.hpp:20617
Definition: vulkan_core.h:6674
StructureType sType
Definition: vulkan.hpp:18633
SwapchainKHR swapchain
Definition: vulkan.hpp:13583
PipelineShaderStageCreateInfo stage
Definition: vulkan.hpp:18894
PipelineColorBlendAdvancedStateCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:28989
bool operator==(PhysicalDeviceProperties const &rhs) const
Definition: vulkan.hpp:22347
void destroyShaderModule(ShaderModule shaderModule, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
PipelineRasterizationStateRasterizationOrderAMD(RasterizationOrderAMD rasterizationOrder_=RasterizationOrderAMD::eStrict)
Definition: vulkan.hpp:24035
bool operator!=(ImageSparseMemoryRequirementsInfo2 const &rhs) const
Definition: vulkan.hpp:14443
VkResult(VKAPI_PTR * PFN_vkEnumerateInstanceVersion)(uint32_t *pApiVersion)
Definition: vulkan_core.h:4357
StructureType sType
Definition: vulkan.hpp:13291
VULKAN_HPP_TYPESAFE_EXPLICIT CommandBuffer(VkCommandBuffer commandBuffer)
Definition: vulkan.hpp:29642
const void * pTag
Definition: vulkan.hpp:17079
Definition: vulkan.hpp:3878
uint32_t planeStackIndex
Definition: vulkan.hpp:23644
void destroyValidationCacheEXT(ValidationCacheEXT validationCache, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:6249
DispatchIndirectCommand & setX(uint32_t x_)
Definition: vulkan.hpp:6470
ImportFenceFdInfoKHR & operator=(VkImportFenceFdInfoKHR const &rhs)
Definition: vulkan.hpp:27197
DebugReportFlagsEXT flags
Definition: vulkan.hpp:23815
float minSampleShading
Definition: vulkan.hpp:21903
ClearColorValue & setFloat32(std::array< float, 4 > float32_)
Definition: vulkan.hpp:5630
ImageSubresourceLayers(VkImageSubresourceLayers const &rhs)
Definition: vulkan.hpp:19791
void destroy(T t)
Definition: vulkan.hpp:1015
bool operator==(Viewport const &rhs) const
Definition: vulkan.hpp:5038
Definition: vulkan.hpp:907
float maxInterpolationOffset
Definition: vulkan.hpp:22306
#define VULKAN_HPP_ASSERT
Definition: vulkan.hpp:37
Definition: vulkan_core.h:5364
DeviceCreateInfo(VkDeviceCreateInfo const &rhs)
Definition: vulkan.hpp:17426
void insertDebugUtilsLabelEXT(const DebugUtilsLabelEXT *pLabelInfo, Dispatch const &d=Dispatch()) const
PipelineColorBlendStateCreateInfo & setPAttachments(const PipelineColorBlendAttachmentState *pAttachments_)
Definition: vulkan.hpp:19086
bool operator==(SamplerYcbcrConversionImageFormatProperties const &rhs) const
Definition: vulkan.hpp:14708
VkFlags VkQueryControlFlags
Definition: vulkan_core.h:1599
BindImageMemoryDeviceGroupInfo & setPDeviceIndices(const uint32_t *pDeviceIndices_)
Definition: vulkan.hpp:13117
DebugMarkerObjectNameInfoEXT(VkDebugMarkerObjectNameInfoEXT const &rhs)
Definition: vulkan.hpp:23872
uint32_t maxDescriptorSetUniformBuffersDynamic
Definition: vulkan.hpp:22254
bool operator!=(PresentInfoKHR const &rhs) const
Definition: vulkan.hpp:16641
Definition: vulkan_core.h:902
Definition: vulkan.hpp:644
Definition: vulkan.hpp:24896
Definition: vulkan.hpp:17871
StructureType sType
Definition: vulkan.hpp:37412
Definition: vulkan_core.h:664
Bool32 stencilTestEnable
Definition: vulkan.hpp:9970
VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT
Definition: vulkan.hpp:4748
Definition: vulkan_core.h:2433
PipelineRasterizationStateRasterizationOrderAMD & operator=(VkPipelineRasterizationStateRasterizationOrderAMD const &rhs)
Definition: vulkan.hpp:24045
DisplayModeParametersKHR parameters
Definition: vulkan.hpp:6604
uint32_t mipLevel
Definition: vulkan.hpp:19844
DisplayEventTypeEXT displayEvent
Definition: vulkan.hpp:27570
Definition: vulkan_core.h:791
IndirectCommandsTokenNVX(IndirectCommandsTokenTypeNVX tokenType_=IndirectCommandsTokenTypeNVX::ePipeline, Buffer buffer_=Buffer(), DeviceSize offset_=0)
Definition: vulkan.hpp:24551
Definition: vulkan_core.h:1297
Result createGraphicsPipelines(PipelineCache pipelineCache, uint32_t createInfoCount, const GraphicsPipelineCreateInfo *pCreateInfos, const AllocationCallbacks *pAllocator, Pipeline *pPipelines, Dispatch const &d=Dispatch()) const
AcquireNextImageInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:13609
Definition: vulkan_core.h:684
DeviceSize bufferImageGranularity
Definition: vulkan.hpp:22242
void trimCommandPool(CommandPool commandPool, CommandPoolTrimFlags flags=CommandPoolTrimFlags(), Dispatch const &d=Dispatch()) const
Flags< DescriptorPoolResetFlagBits, VkDescriptorPoolResetFlags > DescriptorPoolResetFlags
Definition: vulkan.hpp:2504
bool operator==(PhysicalDeviceExternalImageFormatInfo const &rhs) const
Definition: vulkan.hpp:25451
Definition: vulkan_core.h:1995
SampleCountFlags framebufferNoAttachmentsSampleCounts
Definition: vulkan.hpp:22314
Definition: vulkan.hpp:21638
StructureType sType
Definition: vulkan.hpp:12133
bool operator==(QueryPoolCreateInfo const &rhs) const
Definition: vulkan.hpp:19660
bool operator==(MemoryHostPointerPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15555
void setScissor(uint32_t firstScissor, uint32_t scissorCount, const Rect2D *pScissors, Dispatch const &d=Dispatch()) const
const PipelineShaderStageCreateInfo * pStages
Definition: vulkan.hpp:22091
void * pNext
Definition: vulkan.hpp:22400
bool operator<(Event const &rhs) const
Definition: vulkan.hpp:3716
Definition: vulkan_core.h:1615
Bool32 independentBlend
Definition: vulkan.hpp:6220
ImageSubresourceLayers dstSubresource
Definition: vulkan.hpp:20218
Definition: vulkan.hpp:20380
StructureType sType
Definition: vulkan.hpp:14861
Definition: vulkan_win32.h:72
PipelineMultisampleStateCreateInfo & setAlphaToCoverageEnable(Bool32 alphaToCoverageEnable_)
Definition: vulkan.hpp:21860
float mipLodBias
Definition: vulkan.hpp:10229
bool operator!=(Offset2D const &rhs) const
Definition: vulkan.hpp:4794
VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D *pDiscardRectangles)
PipelineDepthStencilStateCreateFlagBits
Definition: vulkan.hpp:2392
bool operator!=(SurfaceCapabilitiesKHR const &rhs) const
Definition: vulkan.hpp:23673
ValidationCacheCreateInfoEXT & operator=(VkValidationCacheCreateInfoEXT const &rhs)
Definition: vulkan.hpp:15226
VkResult vkGetValidationCacheDataEXT(VkDevice device, VkValidationCacheEXT validationCache, size_t *pDataSize, void *pData) const
Definition: vulkan.hpp:2193
ImageAspectFlags aspectMask
Definition: vulkan.hpp:19843
SwapchainCreateInfoKHR & setImageUsage(ImageUsageFlags imageUsage_)
Definition: vulkan.hpp:27994
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 *pSupported)
void(VKAPI_PTR * PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX *pReserveSpaceInfo)
Definition: vulkan_core.h:6348
DeviceSize sequencesIndexOffset
Definition: vulkan.hpp:37425
SharingMode sharingMode
Definition: vulkan.hpp:18135
bool operator!=(MemoryHostPointerPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15562
PFN_vkCreateSampler vkCreateSampler
Definition: vulkan.hpp:41956
DeviceGroupRenderPassBeginInfo & operator=(VkDeviceGroupRenderPassBeginInfo const &rhs)
Definition: vulkan.hpp:13183
Definition: vulkan_core.h:956
Definition: vulkan_core.h:4344
DeviceEventInfoEXT(VkDeviceEventInfoEXT const &rhs)
Definition: vulkan.hpp:27466
bool operator==(BindBufferMemoryInfo const &rhs) const
Definition: vulkan.hpp:12917
Definition: vulkan_core.h:1369
PresentTimesInfoGOOGLE & operator=(VkPresentTimesInfoGOOGLE const &rhs)
Definition: vulkan.hpp:13810
StructureType sType
Definition: vulkan.hpp:24163
PolygonMode polygonMode
Definition: vulkan.hpp:9831
Definition: vulkan_core.h:3813
bool operator!=(PhysicalDeviceFeatures const &rhs) const
Definition: vulkan.hpp:6212
PipelineCoverageToColorStateCreateFlagBitsNV
Definition: vulkan.hpp:2636
Definition: vulkan_core.h:4166
SpecializationMapEntry & operator=(VkSpecializationMapEntry const &rhs)
Definition: vulkan.hpp:5498
uint32_t srcQueueFamilyIndex
Definition: vulkan.hpp:17972
PhysicalDeviceFeatures & setShaderImageGatherExtended(Bool32 shaderImageGatherExtended_)
Definition: vulkan.hpp:5986
StructureType sType
Definition: vulkan.hpp:10452
void * pHostPointer
Definition: vulkan.hpp:26049
Definition: vulkan_core.h:519
PipelineColorBlendAdvancedStateCreateInfoEXT & operator=(VkPipelineColorBlendAdvancedStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:28984
Definition: vulkan_core.h:3996
PipelineColorBlendStateCreateInfo & setBlendConstants(std::array< float, 4 > blendConstants_)
Definition: vulkan.hpp:19092
PFN_vkBeginCommandBuffer vkBeginCommandBuffer
Definition: vulkan.hpp:41847
bool operator!=(Framebuffer const &rhs) const
Definition: vulkan.hpp:3845
ImportMemoryFdInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:25879
StructureType sType
Definition: vulkan.hpp:18578
ExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan.hpp:25920
DeviceQueueInfo2(VkDeviceQueueInfo2 const &rhs)
Definition: vulkan.hpp:17539
Definition: vulkan_core.h:656
SparseImageOpaqueMemoryBindInfo & operator=(VkSparseImageOpaqueMemoryBindInfo const &rhs)
Definition: vulkan.hpp:21153
bool operator!() const
Definition: vulkan.hpp:3063
ExportMemoryAllocateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:25680
Definition: vulkan_core.h:2643
const ViewportSwizzleNV * pViewportSwizzles
Definition: vulkan.hpp:28254
WriteDescriptorSet & setPTexelBufferView(const BufferView *pTexelBufferView_)
Definition: vulkan.hpp:8986
PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR
Definition: vulkan.hpp:42082
Flags< SubpassDescriptionFlagBits, VkSubpassDescriptionFlags > SubpassDescriptionFlags
Definition: vulkan.hpp:28352
uint32_t subpass
Definition: vulkan.hpp:20560
Definition: vulkan_core.h:2201
ImageCopy(ImageSubresourceLayers srcSubresource_=ImageSubresourceLayers(), Offset3D srcOffset_=Offset3D(), ImageSubresourceLayers dstSubresource_=ImageSubresourceLayers(), Offset3D dstOffset_=Offset3D(), Extent3D extent_=Extent3D())
Definition: vulkan.hpp:20148
bool operator==(AttachmentReference const &rhs) const
Definition: vulkan.hpp:7237
PhysicalDeviceImageFormatInfo2 & setTiling(ImageTiling tiling_)
Definition: vulkan.hpp:18725
void vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties) const
Definition: vulkan.hpp:2057
Definition: vulkan_core.h:1455
bool operator!=(PhysicalDeviceDescriptorIndexingPropertiesEXT const &rhs) const
Definition: vulkan.hpp:16074
RenderPass renderPass
Definition: vulkan.hpp:10397
Definition: vulkan_core.h:695
Buffer buffer
Definition: vulkan.hpp:14339
uint32_t binding
Definition: vulkan.hpp:8285
Definition: vulkan_core.h:665
ImageSubresourceLayers & operator=(VkImageSubresourceLayers const &rhs)
Definition: vulkan.hpp:19796
bool operator==(PipelineDynamicStateCreateInfo const &rhs) const
Definition: vulkan.hpp:16724
void destroySamplerYcbcrConversionKHR(SamplerYcbcrConversion ycbcrConversion, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
VULKAN_HPP_TYPESAFE_EXPLICIT IndirectCommandsLayoutNVX(VkIndirectCommandsLayoutNVX indirectCommandsLayoutNVX)
Definition: vulkan.hpp:4090
void bindDescriptorSets(PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const DescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t *pDynamicOffsets, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:6594
ComponentMapping & operator=(VkComponentMapping const &rhs)
Definition: vulkan.hpp:7322
ViewportWScalingNV & setYcoeff(float ycoeff_)
Definition: vulkan.hpp:6965
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2
Definition: vulkan.hpp:42111
AttachmentSampleLocationsEXT(VkAttachmentSampleLocationsEXT const &rhs)
Definition: vulkan.hpp:22620
DescriptorType descriptorType
Definition: vulkan.hpp:7523
void vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const
Definition: vulkan.hpp:1257
Definition: vulkan_core.h:6227
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glext.h:6305
BindSparseInfo & setImageOpaqueBindCount(uint32_t imageOpaqueBindCount_)
Definition: vulkan.hpp:21315
Bool32 shaderInputAttachmentArrayNonUniformIndexing
Definition: vulkan.hpp:16022
ExternalFenceFeatureFlagBits
Definition: vulkan.hpp:26997
Definition: vulkan.hpp:3677
Flags< FramebufferCreateFlagBits, VkFramebufferCreateFlags > FramebufferCreateFlags
Definition: vulkan.hpp:2360
OutOfPoolMemoryError(std::string const &message)
Definition: vulkan.hpp:767
Definition: vulkan_core.h:6658
Definition: vulkan_core.h:6162
DebugUtilsMessengerCallbackDataEXT & setPObjects(DebugUtilsObjectNameInfoEXT *pObjects_)
Definition: vulkan.hpp:17169
ObjectTableDescriptorSetEntryNVX & setPipelineLayout(PipelineLayout pipelineLayout_)
Definition: vulkan.hpp:25039
VkImageTiling
Definition: vulkan_core.h:758
Definition: vulkan_core.h:1198
bool operator!() const
Definition: vulkan.hpp:3733
DebugUtilsObjectTagInfoEXT & setTagSize(size_t tagSize_)
Definition: vulkan.hpp:17037
int32_t x
Definition: vulkan.hpp:4858
DeviceSize optimalBufferCopyOffsetAlignment
Definition: vulkan.hpp:22334
Definition: vulkan_core.h:5314
StructureType sType
Definition: vulkan.hpp:8904
SwapchainCounterCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:27354
Definition: vulkan_core.h:643
ViewportSwizzleNV & setZ(ViewportCoordinateSwizzleNV z_)
Definition: vulkan.hpp:28148
const void * pNext
Definition: vulkan.hpp:11326
VkResult vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkLayerProperties *pProperties) const
Definition: vulkan.hpp:1751
DebugMarkerMarkerInfoEXT(VkDebugMarkerMarkerInfoEXT const &rhs)
Definition: vulkan.hpp:11276
bool operator==(PhysicalDeviceExternalFenceInfo const &rhs) const
Definition: vulkan.hpp:26787
Definition: vulkan.hpp:593
uint32_t dstBinding
Definition: vulkan.hpp:9135
uint32_t maxFramebufferHeight
Definition: vulkan.hpp:22309
PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties
Definition: vulkan.hpp:42017
const void * pNext
Definition: vulkan.hpp:28251
uint32_t maxTexelGatherOffset
Definition: vulkan.hpp:22304
bool operator<(PipelineCache const &rhs) const
Definition: vulkan.hpp:3984
bool operator==(ImageSubresourceLayers const &rhs) const
Definition: vulkan.hpp:19830
PipelineDepthStencilStateCreateInfo & operator=(VkPipelineDepthStencilStateCreateInfo const &rhs)
Definition: vulkan.hpp:9863
Definition: vulkan_core.h:1305
PipelineVertexInputDivisorStateCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:16220
VkCommandPool m_commandPool
Definition: vulkan.hpp:2801
Definition: vulkan_core.h:2412
Type * operator->()
Definition: vulkan.hpp:389
VkResult vkUnregisterObjectsNVX(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX *pObjectEntryTypes, const uint32_t *pObjectIndices) const
Definition: vulkan.hpp:2329
VkResult vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorSetLayout *pSetLayout) const
Definition: vulkan.hpp:1443
bool operator==(ImageCreateInfo const &rhs) const
Definition: vulkan.hpp:21756
uint32_t maxVgprAllocation
Definition: vulkan.hpp:15807
FramebufferCreateInfo(VkFramebufferCreateInfo const &rhs)
Definition: vulkan.hpp:10528
SampleCountFlagBits samples
Definition: vulkan.hpp:23025
uint32_t height
Definition: vulkan.hpp:4970
IndirectCommandsLayoutCreateInfoNVX & setPTokens(const IndirectCommandsLayoutTokenNVX *pTokens_)
Definition: vulkan.hpp:24722
bool operator==(DeviceQueueCreateInfo const &rhs) const
Definition: vulkan.hpp:17385
Definition: vulkan_core.h:1203
bool operator==(SubmitInfo const &rhs) const
Definition: vulkan.hpp:31024
RenderPassMultiviewCreateInfo & setPViewOffsets(const int32_t *pViewOffsets_)
Definition: vulkan.hpp:12813
bool operator!=(PhysicalDeviceImageFormatInfo2 const &rhs) const
Definition: vulkan.hpp:18759
Definition: vulkan.hpp:28495
AccessFlags dstAccessMask
Definition: vulkan.hpp:23290
Flags< PipelineDynamicStateCreateFlagBits, VkPipelineDynamicStateCreateFlags > PipelineDynamicStateCreateFlags
Definition: vulkan.hpp:2402
VkResult(VKAPI_PTR * PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSemaphore *pSemaphore)
Definition: vulkan_core.h:2761
Definition: vulkan_core.h:652
ImageViewCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:20068
PipelineColorBlendAttachmentState & setColorBlendOp(BlendOp colorBlendOp_)
Definition: vulkan.hpp:18971
Definition: vulkan_wayland.h:36
PhysicalDeviceExternalImageFormatInfo & operator=(VkPhysicalDeviceExternalImageFormatInfo const &rhs)
Definition: vulkan.hpp:25429
OwnerType getOwner() const
Definition: vulkan.hpp:1057
bool operator!=(BindImagePlaneMemoryInfo const &rhs) const
Definition: vulkan.hpp:20675
Definition: vulkan.hpp:6992
Definition: vulkan_core.h:544
SampleCountFlags sampledImageStencilSampleCounts
Definition: vulkan.hpp:22319
uint32_t maxImageDimensionCube
Definition: vulkan.hpp:22234
bool operator!() const
Definition: vulkan.hpp:4742
BufferCopy & setSize(DeviceSize size_)
Definition: vulkan.hpp:5455
bool operator!=(DedicatedAllocationImageCreateInfoNV const &rhs) const
Definition: vulkan.hpp:11373
const PipelineTessellationStateCreateInfo * pTessellationState
Definition: vulkan.hpp:22094
RenderPassSampleLocationsBeginInfoEXT & setPostSubpassSampleLocationsCount(uint32_t postSubpassSampleLocationsCount_)
Definition: vulkan.hpp:22752
Definition: vulkan_core.h:4323
Result createDisplayModeKHR(DisplayKHR display, const DisplayModeCreateInfoKHR *pCreateInfo, const AllocationCallbacks *pAllocator, DisplayModeKHR *pMode, Dispatch const &d=Dispatch()) const
PhysicalDevicePushDescriptorPropertiesKHR & setPNext(void *pNext_)
Definition: vulkan.hpp:11976
Definition: vulkan_core.h:335
MemoryAllocateFlags flags
Definition: vulkan.hpp:27695
ResultValueType< std::vector< UniqueDescriptorSet, Allocator > >::type allocateDescriptorSetsUnique(const DescriptorSetAllocateInfo &allocateInfo, Dispatch const &d=Dispatch()) const
PipelineMultisampleStateCreateInfo & setPSampleMask(const SampleMask *pSampleMask_)
Definition: vulkan.hpp:21854
char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]
Definition: vulkan.hpp:22370
DisplaySurfaceCreateInfoKHR & operator=(VkDisplaySurfaceCreateInfoKHR const &rhs)
Definition: vulkan.hpp:23553
AcquireNextImageInfoKHR & setSemaphore(Semaphore semaphore_)
Definition: vulkan.hpp:13627
Definition: vulkan_core.h:4146
bool operator!=(SparseImageMemoryBind const &rhs) const
Definition: vulkan.hpp:21065
PhysicalDevice16BitStorageFeatures & setStoragePushConstant16(Bool32 storagePushConstant16_)
Definition: vulkan.hpp:14242
bool operator==(ValidationCacheEXT const &rhs) const
Definition: vulkan.hpp:4313
Flags< SwapchainCreateFlagBitsKHR, VkSwapchainCreateFlagsKHR > SwapchainCreateFlagsKHR
Definition: vulkan.hpp:27894
FenceCreateFlags flags
Definition: vulkan.hpp:19210
bool operator!=(ClearRect const &rhs) const
Definition: vulkan.hpp:5162
const void * pNext
Definition: vulkan.hpp:20034
SubpassDescription(VkSubpassDescription const &rhs)
Definition: vulkan.hpp:28388
Definition: vulkan_core.h:3975
Result setDebugUtilsObjectNameEXT(const DebugUtilsObjectNameInfoEXT *pNameInfo, Dispatch const &d=Dispatch()) const
bool operator==(ShaderStatisticsInfoAMD const &rhs) const
Definition: vulkan.hpp:18500
const void * pNext
Definition: vulkan.hpp:15335
Definition: vulkan_core.h:1174
uint32_t currentStackIndex
Definition: vulkan.hpp:6530
const void * pNext
Definition: vulkan.hpp:21381
VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char *pLayerPrefix, const char *pMessage)
GLenum GLuint GLenum GLsizei const GLchar * message
Definition: glext.h:6233
bool operator==(Offset2D const &rhs) const
Definition: vulkan.hpp:4788
VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
Definition: vulkan_core.h:989
StructureType sType
Definition: vulkan.hpp:14634
float sampleLocationCoordinateRange[2]
Definition: vulkan.hpp:22890
Definition: vulkan_core.h:2627
VkResult(VKAPI_PTR * PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR *pModes)
Definition: vulkan_core.h:4761
VertexInputAttributeDescription & setBinding(uint32_t binding_)
Definition: vulkan.hpp:8248
DisplaySurfaceCreateInfoKHR & setPlaneStackIndex(uint32_t planeStackIndex_)
Definition: vulkan.hpp:23582
VULKAN_HPP_CONSTEXPR DisplayModeKHR()
Definition: vulkan.hpp:4421
const void * pTag
Definition: vulkan.hpp:24023
BindSparseInfo & setImageBindCount(uint32_t imageBindCount_)
Definition: vulkan.hpp:21327
GLint GLfloat GLint stencil
Definition: glext.h:6900
PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT
Definition: vulkan.hpp:41925
void(VKAPI_PTR * PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker)
Definition: vulkan_core.h:7402
UniqueHandle< CommandBuffer > UniqueCommandBuffer
Definition: vulkan.hpp:31275
bool operator!=(ExternalFenceProperties const &rhs) const
Definition: vulkan.hpp:27043
PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR
Definition: vulkan.hpp:42035
uint32_t refreshRate
Definition: vulkan.hpp:6581
PhysicalDeviceProtectedMemoryProperties(Bool32 protectedNoFault_=0)
Definition: vulkan.hpp:14871
Definition: vulkan_core.h:862
VkResult vkDebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo) const
Definition: vulkan.hpp:1599
const float * pCoverageModulationTable
Definition: vulkan.hpp:29138
Definition: vulkan_core.h:7047
Flags< BitType > operator~() const
Definition: vulkan.hpp:185
SamplerCreateFlags flags
Definition: vulkan.hpp:10222
SwapchainCreateInfoKHR & setPreTransform(SurfaceTransformFlagBitsKHR preTransform_)
Definition: vulkan.hpp:28018
VkResult(VKAPI_PTR * PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pMessenger)
Definition: vulkan_core.h:6907
PhysicalDeviceExternalMemoryHostPropertiesEXT & operator=(VkPhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs)
Definition: vulkan.hpp:15588
VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks *pAllocator)
PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties
Definition: vulkan.hpp:42084
Result enumerateInstanceVersion(uint32_t *pApiVersion, Dispatch const &d=Dispatch())
Definition: vulkan.hpp:29543
VertexInputBindingDescription(uint32_t binding_=0, uint32_t stride_=0, VertexInputRate inputRate_=VertexInputRate::eVertex)
Definition: vulkan.hpp:7899
PhysicalDeviceConservativeRasterizationPropertiesEXT & setMaxExtraPrimitiveOverestimationSize(float maxExtraPrimitiveOverestimationSize_)
Definition: vulkan.hpp:15668
QueueGlobalPriorityEXT
Definition: vulkan.hpp:29154
SampleCountFlagBits rasterizationSamples
Definition: vulkan.hpp:21901
IndirectCommandsLayoutNVX indirectCommandsLayout
Definition: vulkan.hpp:11897
Bool32 sparseResidency8Samples
Definition: vulkan.hpp:6267
void vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures *pFeatures) const
Definition: vulkan.hpp:1991
bool operator==(ComponentMapping const &rhs) const
Definition: vulkan.hpp:7356
void vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors) const
Definition: vulkan.hpp:1369
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t *pPropertyCount, VkSparseImageFormatProperties *pProperties)
PFN_vkFreeMemory vkFreeMemory
Definition: vulkan.hpp:42027
Definition: vulkan_core.h:6577
bool operator==(DescriptorSetVariableDescriptorCountAllocateInfoEXT const &rhs) const
Definition: vulkan.hpp:16151
GLint GLint GLint GLint GLint GLint y
Definition: glext.h:6295
bool operator<(SamplerYcbcrConversion const &rhs) const
Definition: vulkan.hpp:4254
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
VkResult vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const
Definition: vulkan.hpp:1141
PipelineDynamicStateCreateFlagBits
Definition: vulkan.hpp:2398
Definition: vulkan_core.h:2115
PhysicalDeviceFeatures & setSparseBinding(Bool32 sparseBinding_)
Definition: vulkan.hpp:6082
PhysicalDeviceFeatures & setSparseResidencyImage2D(Bool32 sparseResidencyImage2D_)
Definition: vulkan.hpp:6094
DescriptorPool & operator=(std::nullptr_t)
Definition: vulkan.hpp:3499
Definition: vulkan_core.h:6108
bool operator!=(CommandBufferInheritanceInfo const &rhs) const
Definition: vulkan.hpp:19522
DebugReportCallbackCreateInfoEXT(VkDebugReportCallbackCreateInfoEXT const &rhs)
Definition: vulkan.hpp:23757
ClearColorValue(const std::array< float, 4 > &float32_={ {0} })
Definition: vulkan.hpp:5615
uint32_t size
Definition: vulkan.hpp:18398
DebugUtilsMessengerCallbackDataEXT & setCmdBufLabelCount(uint32_t cmdBufLabelCount_)
Definition: vulkan.hpp:17151
ResultValueType< UniqueIndirectCommandsLayoutNVX >::type createIndirectCommandsLayoutNVXUnique(const IndirectCommandsLayoutCreateInfoNVX &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Definition: chd_stream.c:62
bool operator!=(PhysicalDeviceMultiviewFeatures const &rhs) const
Definition: vulkan.hpp:12717
VkResult vkRegisterObjectsNVX(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX *const *ppObjectTableEntries, const uint32_t *pObjectIndices) const
Definition: vulkan.hpp:2269
MemoryHostPointerPropertiesEXT & setMemoryTypeBits(uint32_t memoryTypeBits_)
Definition: vulkan.hpp:15544
Definition: vulkan_core.h:1906
Definition: vulkan_core.h:4581
Definition: vulkan_core.h:5211
bool operator==(ImportSemaphoreFdInfoKHR const &rhs) const
Definition: vulkan.hpp:26692
PFN_vkQueueBindSparse vkQueueBindSparse
Definition: vulkan.hpp:42161
VkResult vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR *pDeviceGroupPresentCapabilities) const
Definition: vulkan.hpp:1829
Definition: vulkan_core.h:4564
Definition: vulkan_core.h:593
ImageCreateInfo(ImageCreateFlags flags_=ImageCreateFlags(), ImageType imageType_=ImageType::e1D, Format format_=Format::eUndefined, Extent3D extent_=Extent3D(), uint32_t mipLevels_=0, uint32_t arrayLayers_=0, SampleCountFlagBits samples_=SampleCountFlagBits::e1, ImageTiling tiling_=ImageTiling::eOptimal, ImageUsageFlags usage_=ImageUsageFlags(), SharingMode sharingMode_=SharingMode::eExclusive, uint32_t queueFamilyIndexCount_=0, const uint32_t *pQueueFamilyIndices_=nullptr, ImageLayout initialLayout_=ImageLayout::eUndefined)
Definition: vulkan.hpp:21640
const void * pNext
Definition: vulkan.hpp:19209
AttachmentDescription & setStencilStoreOp(AttachmentStoreOp stencilStoreOp_)
Definition: vulkan.hpp:22982
VkSurfaceCounterFlagBitsEXT
Definition: vulkan_core.h:6454
Definition: vulkan_core.h:1565
#define VK_LUID_SIZE
Definition: vulkan_core.h:3666
ResultValueType< UniqueBufferView >::type createBufferViewUnique(const BufferViewCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
const DescriptorSetLayout * pSetLayouts
Definition: vulkan.hpp:9374
void(VKAPI_PTR * PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2779
void setViewportWScalingNV(uint32_t firstViewport, uint32_t viewportCount, const ViewportWScalingNV *pViewportWScalings, Dispatch const &d=Dispatch()) const
ObjectTableIndexBufferEntryNVX & setIndexType(IndexType indexType_)
Definition: vulkan.hpp:25174
PresentInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:16582
PipelineMultisampleStateCreateInfo & setAlphaToOneEnable(Bool32 alphaToOneEnable_)
Definition: vulkan.hpp:21866
Definition: vulkan_core.h:1014
void vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const
Definition: vulkan.hpp:1381
PFN_vkFreeCommandBuffers vkFreeCommandBuffers
Definition: vulkan.hpp:42025
ImportSemaphoreFdInfoKHR & setFd(int fd_)
Definition: vulkan.hpp:26681
DrawIndexedIndirectCommand & setVertexOffset(int32_t vertexOffset_)
Definition: vulkan.hpp:6412
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE *pHandle)
Flags< PipelineCreateFlagBits, VkPipelineCreateFlags > PipelineCreateFlags
Definition: vulkan.hpp:18790
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties)
PipelineCacheCreateInfo(VkPipelineCacheCreateInfo const &rhs)
Definition: vulkan.hpp:9987
VULKAN_HPP_CONSTEXPR Semaphore()
Definition: vulkan.hpp:3613
SubmitInfo & operator=(VkSubmitInfo const &rhs)
Definition: vulkan.hpp:30966
VkSurfaceKHR m_surfaceKHR
Definition: vulkan.hpp:4547
StructureType sType
Definition: vulkan.hpp:17753
Definition: vulkan_core.h:1161
bool operator!() const
Definition: vulkan.hpp:3264
Rect2D & setExtent(Extent2D extent_)
Definition: vulkan.hpp:5086
uint32_t Bool32
Definition: vulkan.hpp:2352
bool operator==(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs) const
Definition: vulkan.hpp:14128
PhysicalDeviceProtectedMemoryProperties(VkPhysicalDeviceProtectedMemoryProperties const &rhs)
Definition: vulkan.hpp:14876
DeviceSize rowPitch
Definition: vulkan.hpp:5418
Definition: vulkan_macos.h:36
Flags(BitType bit)
Definition: vulkan.hpp:120
Result importFenceFdKHR(const ImportFenceFdInfoKHR *pImportFenceFdInfo, Dispatch const &d=Dispatch()) const
SurfaceKHR surface
Definition: vulkan.hpp:28086
Definition: vulkan_core.h:6653
void(VKAPI_PTR * PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements)
Definition: vulkan_core.h:5613
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT *pDisplayPowerInfo)
StructureType sType
Definition: vulkan.hpp:25916
Definition: vulkan_core.h:4569
Definition: vulkan_core.h:928
VULKAN_HPP_CONSTEXPR CommandPool()
Definition: vulkan.hpp:2742
StructureType sType
Definition: vulkan.hpp:13388
Definition: vulkan_core.h:1549
VkResult vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties) const
Definition: vulkan.hpp:2023
void(VKAPI_PTR * PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy *pRegions)
Definition: vulkan_core.h:2837
PhysicalDeviceFeatures & setDepthBiasClamp(Bool32 depthBiasClamp_)
Definition: vulkan.hpp:5890
PipelineCoverageModulationStateCreateFlagsNV flags
Definition: vulkan.hpp:29134
uint32_t arrayLayers
Definition: vulkan.hpp:21790
Definition: vulkan_core.h:2335
ImportFenceFdInfoKHR & setFence(Fence fence_)
Definition: vulkan.hpp:27208
bool operator!=(DisplayModeKHR const &rhs) const
Definition: vulkan.hpp:4452
VULKAN_HPP_CONSTEXPR ShaderModule(std::nullptr_t)
Definition: vulkan.hpp:3081
DebugUtilsMessengerCreateInfoEXT(DebugUtilsMessengerCreateFlagsEXT flags_=DebugUtilsMessengerCreateFlagsEXT(), DebugUtilsMessageSeverityFlagsEXT messageSeverity_=DebugUtilsMessageSeverityFlagsEXT(), DebugUtilsMessageTypeFlagsEXT messageType_=DebugUtilsMessageTypeFlagsEXT(), PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_=nullptr, void *pUserData_=nullptr)
Definition: vulkan.hpp:29274
Definition: vulkan_core.h:955
const ClearValue * pClearValues
Definition: vulkan.hpp:10401
void vkCmdEndRenderPass(VkCommandBuffer commandBuffer) const
Definition: vulkan.hpp:1277
void vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const
Definition: vulkan.hpp:2321
StructureType sType
Definition: vulkan.hpp:27446
uint32_t maxPerStageDescriptorSampledImages
Definition: vulkan.hpp:22248
uint32_t maxFramebufferLayers
Definition: vulkan.hpp:22310
Definition: vulkan_core.h:666
Offset3D srcOffsets[2]
Definition: vulkan.hpp:20287
PhysicalDeviceFeatures & setShaderResourceResidency(Bool32 shaderResourceResidency_)
Definition: vulkan.hpp:6070
void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX *pFeatures, VkDeviceGeneratedCommandsLimitsNVX *pLimits) const
Definition: vulkan.hpp:2015
ClearAttachment(VkClearAttachment const &rhs)
Definition: vulkan.hpp:20467
Definition: vulkan_core.h:615
Result createSharedSwapchainsKHR(uint32_t swapchainCount, const SwapchainCreateInfoKHR *pCreateInfos, const AllocationCallbacks *pAllocator, SwapchainKHR *pSwapchains, Dispatch const &d=Dispatch()) const
DebugUtilsMessengerCallbackDataEXT(DebugUtilsMessengerCallbackDataFlagsEXT flags_=DebugUtilsMessengerCallbackDataFlagsEXT(), const char *pMessageIdName_=nullptr, int32_t messageIdNumber_=0, const char *pMessage_=nullptr, uint32_t queueLabelCount_=0, DebugUtilsLabelEXT *pQueueLabels_=nullptr, uint32_t cmdBufLabelCount_=0, DebugUtilsLabelEXT *pCmdBufLabels_=nullptr, uint32_t objectCount_=0, DebugUtilsObjectNameInfoEXT *pObjects_=nullptr)
Definition: vulkan.hpp:17085
ImagePlaneMemoryRequirementsInfo(ImageAspectFlagBits planeAspect_=ImageAspectFlagBits::eColor)
Definition: vulkan.hpp:20693
FramebufferCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:10538
bool operator!=(PhysicalDeviceMemoryProperties2 const &rhs) const
Definition: vulkan.hpp:17747
DisplayPresentInfoKHR & operator=(VkDisplayPresentInfoKHR const &rhs)
Definition: vulkan.hpp:10702
uint32_t descriptorSetCount
Definition: vulkan.hpp:9373
bool operator!=(DescriptorSetAllocateInfo const &rhs) const
Definition: vulkan.hpp:9362
PointClippingBehavior
Definition: vulkan.hpp:28604
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
PipelineDepthStencilStateCreateFlags flags
Definition: vulkan.hpp:9965
PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets
Definition: vulkan.hpp:41845
DeviceGroupRenderPassBeginInfo & setDeviceMask(uint32_t deviceMask_)
Definition: vulkan.hpp:13194
PhysicalDeviceFeatures & setSamplerAnisotropy(Bool32 samplerAnisotropy_)
Definition: vulkan.hpp:5932
AttachmentStoreOp
Definition: vulkan.hpp:7260
Definition: vulkan.hpp:2940
bool operator!=(ObjectTablePushConstantEntryNVX const &rhs) const
Definition: vulkan.hpp:25262
AllocationCallbacks & setPfnInternalAllocation(PFN_vkInternalAllocationNotification pfnInternalAllocation_)
Definition: vulkan.hpp:5269
bool operator!=(DebugUtilsObjectTagInfoEXT const &rhs) const
Definition: vulkan.hpp:17065
bool operator<(Buffer const &rhs) const
Definition: vulkan.hpp:2845
uint32_t srcArrayElement
Definition: vulkan.hpp:9133
QueryPipelineStatisticFlags pipelineStatistics
Definition: vulkan.hpp:19683
DeviceSize size
Definition: vulkan.hpp:8910
FramebufferCreateInfo & setRenderPass(RenderPass renderPass_)
Definition: vulkan.hpp:10550
bool operator!() const
Definition: vulkan.hpp:3800
GLint GLint GLint GLint GLint x
Definition: glext.h:6295
bool operator!=(PhysicalDeviceSubgroupProperties const &rhs) const
Definition: vulkan.hpp:24466
DisplaySurfaceCreateInfoKHR & setGlobalAlpha(float globalAlpha_)
Definition: vulkan.hpp:23594
const void * pNext
Definition: vulkan.hpp:21899
PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX
Definition: vulkan.hpp:42092
Definition: vulkan_core.h:2539
VkResult vkCreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pMessenger) const
Definition: vulkan.hpp:1435
ShaderResourceUsageAMD resourceUsage
Definition: vulkan.hpp:18517
InstanceCreateInfo & setPApplicationInfo(const ApplicationInfo *pApplicationInfo_)
Definition: vulkan.hpp:8711
const CommandBufferInheritanceInfo * pInheritanceInfo
Definition: vulkan.hpp:19601
bool operator!=(PhysicalDeviceDescriptorIndexingFeaturesEXT const &rhs) const
Definition: vulkan.hpp:16005
Definition: vulkan_core.h:980
uint32_t layers
Definition: vulkan.hpp:10620
Definition: vulkan.hpp:103
const ObjectEntryUsageFlagsNVX * pObjectEntryUsageFlags
Definition: vulkan.hpp:24887
PipelineViewportStateCreateInfo & setScissorCount(uint32_t scissorCount_)
Definition: vulkan.hpp:9651
uint32_t imageBindCount
Definition: vulkan.hpp:21388
Definition: vulkan_core.h:2076
PipelineCache & operator=(std::nullptr_t)
Definition: vulkan.hpp:3968
PipelineMultisampleStateCreateInfo & operator=(VkPipelineMultisampleStateCreateInfo const &rhs)
Definition: vulkan.hpp:21819
uint32_t maxPerSetDescriptors
Definition: vulkan.hpp:15365
bool operator<(SwapchainKHR const &rhs) const
Definition: vulkan.hpp:4591
MemoryBarrier & setDstAccessMask(AccessFlags dstAccessMask_)
Definition: vulkan.hpp:17837
bool operator!=(ImageSubresource const &rhs) const
Definition: vulkan.hpp:19770
ResultValueType< Pipeline >::type createComputePipeline(PipelineCache pipelineCache, const ComputePipelineCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
PresentInfoKHR & setPSwapchains(const SwapchainKHR *pSwapchains_)
Definition: vulkan.hpp:16606
Definition: vulkan_core.h:1888
ObjectTableIndexBufferEntryNVX(ObjectEntryTypeNVX type_=ObjectEntryTypeNVX::eDescriptorSet, ObjectEntryUsageFlagsNVX flags_=ObjectEntryUsageFlagsNVX(), Buffer buffer_=Buffer(), IndexType indexType_=IndexType::eUint16)
Definition: vulkan.hpp:25138
SubpassDescriptionFlagBits
Definition: vulkan.hpp:28346
PhysicalDeviceExternalMemoryHostPropertiesEXT(DeviceSize minImportedHostPointerAlignment_=0)
Definition: vulkan.hpp:15578
ExternalSemaphoreHandleTypeFlagBits handleType
Definition: vulkan.hpp:26259
StructureType sType
Definition: vulkan.hpp:20133
DeviceLostError(char const *message)
Definition: vulkan.hpp:697
bool operator!=(PipelineInputAssemblyStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9526
Definition: vulkan_core.h:1098
Definition: vulkan_core.h:463
void vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures) const
Definition: vulkan.hpp:1995
PhysicalDeviceExternalSemaphoreInfo(ExternalSemaphoreHandleTypeFlagBits handleType_=ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd)
Definition: vulkan.hpp:26210
ClearRect & setLayerCount(uint32_t layerCount_)
Definition: vulkan.hpp:5144
Definition: vulkan.hpp:8777
bool operator==(ExternalImageFormatPropertiesNV const &rhs) const
Definition: vulkan.hpp:24326
DeviceQueueCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:17350
PhysicalDeviceFeatures & operator=(VkPhysicalDeviceFeatures const &rhs)
Definition: vulkan.hpp:5813
void unmapMemory(DeviceMemory memory, Dispatch const &d=Dispatch()) const
VkResult(VKAPI_PTR * PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties)
Definition: vulkan_core.h:4363
GLuint64EXT * result
Definition: glext.h:12211
const void * pNext
Definition: vulkan.hpp:18333
StencilOpState & operator=(VkStencilOpState const &rhs)
Definition: vulkan.hpp:7770
PhysicalDeviceVariablePointerFeatures(Bool32 variablePointersStorageBuffer_=0, Bool32 variablePointers_=0)
Definition: vulkan.hpp:12080
PFN_vkBindImageMemory vkBindImageMemory
Definition: vulkan.hpp:41851
Definition: vulkan_core.h:4748
ImageMemoryRequirementsInfo2(Image image_=Image())
Definition: vulkan.hpp:14347
SubpassSampleLocationsEXT & setSubpassIndex(uint32_t subpassIndex_)
Definition: vulkan.hpp:22681
Result registerEventEXT(const DeviceEventInfoEXT *pDeviceEventInfo, const AllocationCallbacks *pAllocator, Fence *pFence, Dispatch const &d=Dispatch()) const
VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT *pSampleLocationsInfo)
Definition: vulkan_core.h:536
Definition: vulkan_core.h:7349
bool operator==(MemoryBarrier const &rhs) const
Definition: vulkan.hpp:17848
void(VKAPI_PTR * PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue)
Definition: vulkan_core.h:2738
SurfaceKHR surface
Definition: vulkan.hpp:14200
Definition: vulkan_core.h:3749
const void * pNext
Definition: vulkan.hpp:13519
VkSemaphore m_semaphore
Definition: vulkan.hpp:3672
PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR
Definition: vulkan.hpp:41840
PipelineRasterizationConservativeStateCreateInfoEXT & setFlags(PipelineRasterizationConservativeStateCreateFlagsEXT flags_)
Definition: vulkan.hpp:29395
uint32_t firstInstance
Definition: vulkan.hpp:6369
VkResult vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display) const
Definition: vulkan.hpp:2273
Definition: vulkan_core.h:4249
PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties
Definition: vulkan.hpp:42096
StructureType sType
Definition: vulkan.hpp:11817
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkIndirectCommandsLayoutNVX *pIndirectCommandsLayout)
Definition: vulkan_core.h:601
VULKAN_HPP_TYPESAFE_EXPLICIT SamplerYcbcrConversion(VkSamplerYcbcrConversion samplerYcbcrConversion)
Definition: vulkan.hpp:4226
void vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) const
Definition: vulkan.hpp:1345
bool operator!=(PipelineCache const &rhs) const
Definition: vulkan.hpp:3979
VkFlags VkDependencyFlags
Definition: vulkan_core.h:1571
PFN_vkCmdResolveImage vkCmdResolveImage
Definition: vulkan.hpp:41898
Flags< SemaphoreImportFlagBits, VkSemaphoreImportFlags > SemaphoreImportFlags
Definition: vulkan.hpp:26522
uint32_t maxDescriptorSetUpdateAfterBindSampledImages
Definition: vulkan.hpp:16104
ImageSubresource & setAspectMask(ImageAspectFlags aspectMask_)
Definition: vulkan.hpp:19740
VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion(std::nullptr_t)
Definition: vulkan.hpp:4222
FramebufferCreateInfo & setHeight(uint32_t height_)
Definition: vulkan.hpp:10574
const void * pNext
Definition: vulkan.hpp:8668
Definition: vulkan_core.h:4066
bool operator==(FenceGetFdInfoKHR const &rhs) const
Definition: vulkan.hpp:26974
QueryPipelineStatisticFlags pipelineStatistics
Definition: vulkan.hpp:19537
DeviceGroupBindSparseInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:13421
StructureType sType
Definition: vulkan.hpp:24218
DescriptorUpdateTemplateCreateInfo & setPNext(void *pNext_)
Definition: vulkan.hpp:16780
float maxLod
Definition: vulkan.hpp:10235
MemoryDedicatedAllocateInfo & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:14551
Definition: vulkan_core.h:941
DrawIndirectCommand(uint32_t vertexCount_=0, uint32_t instanceCount_=0, uint32_t firstVertex_=0, uint32_t firstInstance_=0)
Definition: vulkan.hpp:6306
Result getSurfacePresentModesKHR(SurfaceKHR surface, uint32_t *pPresentModeCount, PresentModeKHR *pPresentModes, Dispatch const &d=Dispatch()) const
bool operator!=(MemoryBarrier const &rhs) const
Definition: vulkan.hpp:17856
VkDeviceMemory m_deviceMemory
Definition: vulkan.hpp:2734
DebugUtilsMessengerCreateInfoEXT & setFlags(DebugUtilsMessengerCreateFlagsEXT flags_)
Definition: vulkan.hpp:29299
DeviceGroupSwapchainCreateInfoKHR(VkDeviceGroupSwapchainCreateInfoKHR const &rhs)
Definition: vulkan.hpp:27840
Bool32 descriptorBindingPartiallyBound
Definition: vulkan.hpp:16032
Definition: vulkan_core.h:542
PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR
Definition: vulkan.hpp:41839
StructureType sType
Definition: vulkan.hpp:9597
Definition: vulkan_core.h:3889
bool operator<(PhysicalDevice const &rhs) const
Definition: vulkan.hpp:35816
PipelineViewportWScalingStateCreateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:14012
void setBlendConstants(const float blendConstants[4], Dispatch const &d=Dispatch()) const
ExternalMemoryImageCreateInfoNV & operator=(VkExternalMemoryImageCreateInfoNV const &rhs)
Definition: vulkan.hpp:24128
void(VKAPI_PTR * PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors)
Definition: vulkan_core.h:2816
ImageSwapchainCreateInfoKHR & operator=(VkImageSwapchainCreateInfoKHR const &rhs)
Definition: vulkan.hpp:13481
Definition: vulkan_core.h:2298
void(VKAPI_PTR * PFN_vkVoidFunction)(void)
Definition: vulkan_core.h:1905
PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR
Definition: vulkan.hpp:42146
PhysicalDeviceMultiviewFeatures & setPNext(void *pNext_)
Definition: vulkan.hpp:12679
CommandBufferAllocateInfo & setCommandPool(CommandPool commandPool_)
Definition: vulkan.hpp:10266
Flags< PipelineRasterizationStateCreateFlagBits, VkPipelineRasterizationStateCreateFlags > PipelineRasterizationStateCreateFlags
Definition: vulkan.hpp:2420
Definition: vulkan_core.h:6850
Flags< BitType > & operator&=(Flags< BitType > const &rhs)
Definition: vulkan.hpp:147
PhysicalDeviceExternalBufferInfo & operator=(VkPhysicalDeviceExternalBufferInfo const &rhs)
Definition: vulkan.hpp:25488
Event & operator=(std::nullptr_t)
Definition: vulkan.hpp:3700
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures)
PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR
Definition: vulkan.hpp:41894
uint32_t maxImageDimension3D
Definition: vulkan.hpp:22233
DescriptorSetLayoutCreateInfo & setFlags(DescriptorSetLayoutCreateFlags flags_)
Definition: vulkan.hpp:25325
size_t offset
Definition: vulkan.hpp:7524
SystemError(std::error_code ec)
Definition: vulkan.hpp:647
PeerMemoryFeatureFlagBits
Definition: vulkan.hpp:27574
const void * pNext
Definition: vulkan.hpp:19531
SwapchainCreateInfoKHR & setImageSharingMode(SharingMode imageSharingMode_)
Definition: vulkan.hpp:28000
Definition: vulkan.hpp:4418
PipelineDynamicStateCreateInfo & setDynamicStateCount(uint32_t dynamicStateCount_)
Definition: vulkan.hpp:16707
Definition: vulkan_core.h:6319
DisplayPresentInfoKHR & setDstRect(Rect2D dstRect_)
Definition: vulkan.hpp:10719
bool operator==(SampleLocationEXT const &rhs) const
Definition: vulkan.hpp:7027
Definition: vulkan.hpp:2739
int32_t vertexOffset
Definition: vulkan.hpp:6446
Definition: vulkan_core.h:5806
void insertDebugUtilsLabelEXT(const DebugUtilsLabelEXT *pLabelInfo, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:3710
VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage)
DebugUtilsMessengerCallbackDataFlagsEXT flags
Definition: vulkan.hpp:17206
ImageCreateInfo & setUsage(ImageUsageFlags usage_)
Definition: vulkan.hpp:21721
Definition: vulkan.hpp:31326
bool operator==(Queue const &rhs) const
Definition: vulkan.hpp:31086
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glext.h:6293
void(VKAPI_PTR * PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
Definition: vulkan_core.h:2820
uint32_t minImageCount
Definition: vulkan.hpp:27323
DescriptorSetLayoutBindingFlagsCreateInfoEXT & setBindingCount(uint32_t bindingCount_)
Definition: vulkan.hpp:29495
PipelineInputAssemblyStateCreateInfo & operator=(VkPipelineInputAssemblyStateCreateInfo const &rhs)
Definition: vulkan.hpp:9483
uint32_t presentID
Definition: vulkan.hpp:6882
Definition: vulkan_core.h:1221
const uint32_t * pImageIndices
Definition: vulkan.hpp:16655
PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer
Definition: vulkan.hpp:41858
DebugMarkerMarkerInfoEXT & operator=(VkDebugMarkerMarkerInfoEXT const &rhs)
Definition: vulkan.hpp:11281
void vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo, VkExternalSemaphoreProperties *pExternalSemaphoreProperties) const
Definition: vulkan.hpp:1983
PFN_vkResetCommandBuffer vkResetCommandBuffer
Definition: vulkan.hpp:42171
void(VKAPI_PTR * PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2764
const ObjectEntryTypeNVX * pObjectEntryTypes
Definition: vulkan.hpp:24885
Pipeline basePipelineHandle
Definition: vulkan.hpp:22104
VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator)
ImageMemoryBarrier & setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_)
Definition: vulkan.hpp:19988
Definition: vulkan_core.h:2511
CommandBufferInheritanceInfo & operator=(VkCommandBufferInheritanceInfo const &rhs)
Definition: vulkan.hpp:19458
Definition: vulkan_core.h:315
float x
Definition: vulkan.hpp:6765
InputAttachmentAspectReference & setInputAttachmentIndex(uint32_t inputAttachmentIndex_)
Definition: vulkan.hpp:20531
Definition: vulkan_core.h:1548
const void * pNext
Definition: vulkan.hpp:15206
Bool32 alphaToCoverageEnable
Definition: vulkan.hpp:21905
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo, VkExternalFenceProperties *pExternalFenceProperties)
Definition: vulkan_core.h:5451
bool operator!=(DebugUtilsObjectNameInfoEXT const &rhs) const
Definition: vulkan.hpp:16976
bool operator<(Sampler const &rhs) const
Definition: vulkan.hpp:3314
ResultValueType< void >::type resetCommandPool(CommandPool commandPool, CommandPoolResetFlags flags, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:2055
ExternalMemoryProperties externalMemoryProperties
Definition: vulkan.hpp:26136
Definition: vulkan_core.h:543
PipelineColorBlendAttachmentState & setColorWriteMask(ColorComponentFlags colorWriteMask_)
Definition: vulkan.hpp:18995
PipelineInputAssemblyStateCreateInfo & setFlags(PipelineInputAssemblyStateCreateFlags flags_)
Definition: vulkan.hpp:9494
uint32_t commandBufferCount
Definition: vulkan.hpp:13394
bool operator!=(RenderPass const &rhs) const
Definition: vulkan.hpp:3912
Definition: vulkan_core.h:561
Extent3D & setHeight(uint32_t height_)
Definition: vulkan.hpp:4940
void(VKAPI_PTR * PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2783
UniqueHandle< DescriptorSet > UniqueDescriptorSet
Definition: vulkan.hpp:31281
StructureType sType
Definition: vulkan.hpp:8832
DescriptorBufferInfo & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:5354
Definition: vulkan_core.h:334
Definition: vulkan_core.h:1861
SamplerAddressMode addressModeU
Definition: vulkan.hpp:10226
Definition: vulkan_win32.h:185
uint32_t maxDescriptorSetUpdateAfterBindInputAttachments
Definition: vulkan.hpp:16106
uint32_t height
Definition: vulkan.hpp:10619
void * pUserData
Definition: vulkan.hpp:29359
PhysicalDeviceImageFormatInfo2 & operator=(VkPhysicalDeviceImageFormatInfo2 const &rhs)
Definition: vulkan.hpp:18702
VkResult vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines) const
Definition: vulkan.hpp:1479
DebugMarkerObjectNameInfoEXT & setObject(uint64_t object_)
Definition: vulkan.hpp:23894
PipelineVertexInputStateCreateInfo & setPVertexAttributeDescriptions(const VertexInputAttributeDescription *pVertexAttributeDescriptions_)
Definition: vulkan.hpp:9429
Definition: vulkan_core.h:1556
DeviceQueueGlobalPriorityCreateInfoEXT(QueueGlobalPriorityEXT globalPriority_=QueueGlobalPriorityEXT::eLow)
Definition: vulkan.hpp:29164
VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks *pAllocator)
const void * pInitialData
Definition: vulkan.hpp:15281
Image image
Definition: vulkan.hpp:20041
ImageViewCreateInfo & setComponents(ComponentMapping components_)
Definition: vulkan.hpp:20098
VULKAN_HPP_CONSTEXPR PhysicalDevice(std::nullptr_t)
Definition: vulkan.hpp:35784
SamplerCreateInfo & setCompareEnable(Bool32 compareEnable_)
Definition: vulkan.hpp:10149
void vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const
Definition: vulkan.hpp:1221
#define VULKAN_HPP_NAMESPACE_STRING
Definition: vulkan.hpp:101
uint32_t waitSemaphoreCount
Definition: vulkan.hpp:21382
ValidationCheckEXT * pDisabledValidationChecks
Definition: vulkan.hpp:24412
Offset3D dstOffset
Definition: vulkan.hpp:20453
void submitDebugUtilsMessageEXT(DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageTypes, const DebugUtilsMessengerCallbackDataEXT *pCallbackData, Dispatch const &d=Dispatch()) const
uint32_t maxGeometryTotalOutputComponents
Definition: vulkan.hpp:22277
Definition: vulkan_core.h:4723
VKAPI_ATTR void VKAPI_CALL vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator)
void vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1691
VkFlags VkStencilFaceFlags
Definition: vulkan_core.h:1613
bool operator==(PipelineCoverageToColorStateCreateInfoNV const &rhs) const
Definition: vulkan.hpp:14972
PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask
Definition: vulkan.hpp:41902
BufferCreateInfo & setSize(DeviceSize size_)
Definition: vulkan.hpp:18075
void vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties) const
Definition: vulkan.hpp:2011
AttachmentDescriptionFlagBits
Definition: vulkan.hpp:22896
FormatProperties formatProperties
Definition: vulkan.hpp:19320
PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties
Definition: vulkan.hpp:42110
Definition: vulkan_core.h:917
ComponentMapping(ComponentSwizzle r_=ComponentSwizzle::eIdentity, ComponentSwizzle g_=ComponentSwizzle::eIdentity, ComponentSwizzle b_=ComponentSwizzle::eIdentity, ComponentSwizzle a_=ComponentSwizzle::eIdentity)
Definition: vulkan.hpp:7309
bool operator==(SwapchainCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:28053
Definition: vulkan_core.h:4672
DeviceCreateInfo & setEnabledExtensionCount(uint32_t enabledExtensionCount_)
Definition: vulkan.hpp:17472
Definition: vulkan_core.h:4224
ObjectTablePipelineEntryNVX & setType(ObjectEntryTypeNVX type_)
Definition: vulkan.hpp:24966
Definition: vulkan.hpp:21259
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT *pDisplayEventInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence)
PipelineMultisampleStateCreateInfo(VkPipelineMultisampleStateCreateInfo const &rhs)
Definition: vulkan.hpp:21814
Optional(RefType &reference)
Definition: vulkan.hpp:239
bool operator==(VertexInputBindingDivisorDescriptionEXT const &rhs) const
Definition: vulkan.hpp:7107
PFN_vkCmdEndQuery vkCmdEndQuery
Definition: vulkan.hpp:41884
ObjectTableCreateInfoNVX & setObjectCount(uint32_t objectCount_)
Definition: vulkan.hpp:24800
void * pNext
Definition: vulkan.hpp:20882
Definition: vulkan_core.h:4044
Definition: vulkan.hpp:19721
uint32_t cmdBufLabelCount
Definition: vulkan.hpp:17212
VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void *pData)
uint32_t uint32[4]
Definition: vulkan.hpp:5655
SubpassSampleLocationsEXT & setSampleLocationsInfo(SampleLocationsInfoEXT sampleLocationsInfo_)
Definition: vulkan.hpp:22687
uint32_t location
Definition: vulkan.hpp:8284
Sampler & operator=(std::nullptr_t)
Definition: vulkan.hpp:3298
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR *pGetFdInfo, int *pFd)
PipelineRasterizationStateCreateInfo & setDepthBiasEnable(Bool32 depthBiasEnable_)
Definition: vulkan.hpp:9766
Result enumerateInstanceExtensionProperties(const char *pLayerName, uint32_t *pPropertyCount, ExtensionProperties *pProperties, Dispatch const &d=Dispatch())
Definition: vulkan.hpp:29601
bool operator!=(DisplayPresentInfoKHR const &rhs) const
Definition: vulkan.hpp:10745
VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements)
ObjectEntryTypeNVX type
Definition: vulkan.hpp:25198
Definition: vulkan_core.h:2713
Definition: vulkan_core.h:4552
Definition: vulkan_core.h:492
bool operator!=(PhysicalDeviceShaderDrawParameterFeatures const &rhs) const
Definition: vulkan.hpp:15443
PhysicalDeviceBlendOperationAdvancedFeaturesEXT(Bool32 advancedBlendCoherentOperations_=0)
Definition: vulkan.hpp:15057
uint32_t memoryTypeIndex
Definition: vulkan.hpp:8837
VkDebugReportCallbackEXT m_debugReportCallbackEXT
Definition: vulkan.hpp:4681
uint32_t maxDescriptorSetInputAttachments
Definition: vulkan.hpp:22259
VkResult(VKAPI_PTR * PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t *pPropertyCount, VkDisplayModePropertiesKHR *pProperties)
Definition: vulkan_core.h:4896
VkResult
Definition: vulkan_core.h:124
bool operator==(VertexInputBindingDescription const &rhs) const
Definition: vulkan.hpp:7939
VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(VkDevice device, VkDeviceMemory memory)
Definition: vulkan.hpp:19159
Definition: vulkan.hpp:10405
Definition: vulkan_core.h:2260
void vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve *pRegions) const
Definition: vulkan.hpp:1329
PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE
Definition: vulkan.hpp:42137
SamplerReductionModeEXT reductionMode
Definition: vulkan.hpp:28700
Definition: vulkan_core.h:7267
BufferMemoryBarrier(AccessFlags srcAccessMask_=AccessFlags(), AccessFlags dstAccessMask_=AccessFlags(), uint32_t srcQueueFamilyIndex_=0, uint32_t dstQueueFamilyIndex_=0, Buffer buffer_=Buffer(), DeviceSize offset_=0, DeviceSize size_=0)
Definition: vulkan.hpp:17873
void vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const
Definition: vulkan.hpp:1245
bool operator!=(DescriptorSetLayoutBindingFlagsCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29520
SamplerReductionModeCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:28666
DebugUtilsObjectTagInfoEXT(VkDebugUtilsObjectTagInfoEXT const &rhs)
Definition: vulkan.hpp:17003
uint32_t maxComputeWorkGroupCount[3]
Definition: vulkan.hpp:22283
bool operator!=(CopyDescriptorSet const &rhs) const
Definition: vulkan.hpp:9121
bool operator==(PhysicalDevicePointClippingProperties const &rhs) const
Definition: vulkan.hpp:28619
PastPresentationTimingGOOGLE & setActualPresentTime(uint64_t actualPresentTime_)
Definition: vulkan.hpp:6845
PipelineLayoutCreateInfo & setFlags(PipelineLayoutCreateFlags flags_)
Definition: vulkan.hpp:18429
Definition: vulkan_core.h:6776
bool operator!=(ShaderModuleValidationCacheCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:15326
VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void *pData)
SemaphoreCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:10477
ImageCreateInfo & setMipLevels(uint32_t mipLevels_)
Definition: vulkan.hpp:21697
Definition: vulkan_core.h:5741
XYColorEXT whitePoint
Definition: vulkan.hpp:13789
const char * displayName
Definition: vulkan.hpp:23525
ClearValue clearValue
Definition: vulkan.hpp:20502
VkResult(VKAPI_PTR * PFN_vkQueueWaitIdle)(VkQueue queue)
Definition: vulkan_core.h:2740
PhysicalDeviceFeatures & setFillModeNonSolid(Bool32 fillModeNonSolid_)
Definition: vulkan.hpp:5896
VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo *pRenderPassBegin, VkSubpassContents contents)
ImportFenceFdInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:27202
bool operator==(PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15117
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(VkDevice device, VkSwapchainKHR swapchain)
Definition: vulkan_core.h:6294
uint32_t queueFamilyIndexCount
Definition: vulkan.hpp:21795
DisplayPresentInfoKHR(Rect2D srcRect_=Rect2D(), Rect2D dstRect_=Rect2D(), Bool32 persistent_=0)
Definition: vulkan.hpp:10690
CullModeFlags cullMode
Definition: vulkan.hpp:9832
PipelineDepthStencilStateCreateInfo(PipelineDepthStencilStateCreateFlags flags_=PipelineDepthStencilStateCreateFlags(), Bool32 depthTestEnable_=0, Bool32 depthWriteEnable_=0, CompareOp depthCompareOp_=CompareOp::eNever, Bool32 depthBoundsTestEnable_=0, Bool32 stencilTestEnable_=0, StencilOpState front_=StencilOpState(), StencilOpState back_=StencilOpState(), float minDepthBounds_=0, float maxDepthBounds_=0)
Definition: vulkan.hpp:9844
PFN_vkDestroySampler vkDestroySampler
Definition: vulkan.hpp:42005
DeviceMemory memory
Definition: vulkan.hpp:25984
DeviceSize srcOffset
Definition: vulkan.hpp:5478
const void * pNext
Definition: vulkan.hpp:13785
Definition: vulkan.hpp:1073
#define VK_MAX_DESCRIPTION_SIZE
Definition: vulkan_core.h:113
VULKAN_HPP_CONSTEXPR QueryPool()
Definition: vulkan.hpp:3747
Definition: vulkan_core.h:5539
SubpassDescription & setInputAttachmentCount(uint32_t inputAttachmentCount_)
Definition: vulkan.hpp:28410
StructureType sType
Definition: vulkan.hpp:17593
const void * pNext
Definition: vulkan.hpp:27449
PFN_vkBindBufferMemory2 vkBindBufferMemory2
Definition: vulkan.hpp:41849
Offset2D & operator=(VkOffset2D const &rhs)
Definition: vulkan.hpp:4766
PhysicalDeviceSparseImageFormatInfo2 & setUsage(ImageUsageFlags usage_)
Definition: vulkan.hpp:22482
Definition: vulkan_core.h:484
StructureType sType
Definition: vulkan.hpp:22516
SubpassDescription & setPPreserveAttachments(const uint32_t *pPreserveAttachments_)
Definition: vulkan.hpp:28452
bool operator==(SemaphoreCreateInfo const &rhs) const
Definition: vulkan.hpp:10494
SampleLocationEXT(float x_=0, float y_=0)
Definition: vulkan.hpp:6994
OutOfDeviceMemoryError(char const *message)
Definition: vulkan.hpp:681
Definition: vulkan.hpp:31057
Definition: vulkan_core.h:1367
Definition: vulkan_core.h:2475
DeviceSize size
Definition: vulkan.hpp:17701
void vkGetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements) const
Definition: vulkan.hpp:1809
PipelineCoverageToColorStateCreateInfoNV & setCoverageToColorLocation(uint32_t coverageToColorLocation_)
Definition: vulkan.hpp:14961
VkResult(VKAPI_PTR * PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR *pGetFdInfo, int *pFd)
Definition: vulkan_core.h:5297
QueryPoolCreateInfo(VkQueryPoolCreateInfo const &rhs)
Definition: vulkan.hpp:19615
void vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer, uint32_t deviceMask) const
Definition: vulkan.hpp:1349
VertexInputBindingDivisorDescriptionEXT & setDivisor(uint32_t divisor_)
Definition: vulkan.hpp:7096
uint32_t poolSizeCount
Definition: vulkan.hpp:23165
PhysicalDeviceFeatures & setWideLines(Bool32 wideLines_)
Definition: vulkan.hpp:5908
VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo, const VkAllocationCallbacks *pAllocator, VkDeviceMemory *pMemory)
Definition: vulkan_core.h:2028
DebugMarkerObjectNameInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:23882
bool operator!=(SampleLocationsInfoEXT const &rhs) const
Definition: vulkan.hpp:22595
StructureType sType
Definition: vulkan.hpp:12854
VkResult vkCreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugReportCallbackEXT *pCallback) const
Definition: vulkan.hpp:1431
Definition: vulkan_core.h:534
const Sampler * pImmutableSamplers
Definition: vulkan.hpp:18247
PhysicalDeviceVertexAttributeDivisorPropertiesEXT & setMaxVertexAttribDivisor(uint32_t maxVertexAttribDivisor_)
Definition: vulkan.hpp:16289
Definition: vulkan_core.h:1277
PhysicalDevice16BitStorageFeatures & setStorageBuffer16BitAccess(Bool32 storageBuffer16BitAccess_)
Definition: vulkan.hpp:14230
uint32_t engineVersion
Definition: vulkan.hpp:8672
Definition: vulkan_core.h:7151
uint32_t colorAttachment
Definition: vulkan.hpp:20501
PipelineDynamicStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:16695
Definition: vulkan_core.h:4547
PhysicalDeviceMultiviewFeatures(VkPhysicalDeviceMultiviewFeatures const &rhs)
Definition: vulkan.hpp:12669
Element value
Definition: vulkan.hpp:457
Definition: vulkan_core.h:1738
Result createSamplerYcbcrConversion(const SamplerYcbcrConversionCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, SamplerYcbcrConversion *pYcbcrConversion, Dispatch const &d=Dispatch()) const
void vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1791
BufferMemoryBarrier & setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_)
Definition: vulkan.hpp:17918
Definition: vulkan_win32.h:142
VULKAN_HPP_TYPESAFE_EXPLICIT DebugReportCallbackEXT(VkDebugReportCallbackEXT debugReportCallbackEXT)
Definition: vulkan.hpp:4630
SubmitInfo & setSignalSemaphoreCount(uint32_t signalSemaphoreCount_)
Definition: vulkan.hpp:31007
PhysicalDeviceFeatures2 & operator=(VkPhysicalDeviceFeatures2 const &rhs)
Definition: vulkan.hpp:11914
ImageView & operator=(std::nullptr_t)
Definition: vulkan.hpp:3030
PhysicalDeviceImageFormatInfo2 & setFormat(Format format_)
Definition: vulkan.hpp:18713
void(VKAPI_PTR * PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer)
Definition: vulkan_core.h:6905
DedicatedAllocationImageCreateInfoNV & operator=(VkDedicatedAllocationImageCreateInfoNV const &rhs)
Definition: vulkan.hpp:11344
Bool32 shaderClipDistance
Definition: vulkan.hpp:6254
const void * pNext
Definition: vulkan.hpp:9827
bool operator!=(DescriptorSet const &rhs) const
Definition: vulkan.hpp:3376
VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks *pAllocator)
void * pNext
Definition: vulkan.hpp:27322
MappedMemoryRange & operator=(VkMappedMemoryRange const &rhs)
Definition: vulkan.hpp:8855
Definition: vulkan_core.h:4699
SampleLocationEXT & setY(float y_)
Definition: vulkan.hpp:7016
bool operator==(DrawIndexedIndirectCommand const &rhs) const
Definition: vulkan.hpp:6429
void destroyEvent(Event event, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
BindImageMemoryInfo(Image image_=Image(), DeviceMemory memory_=DeviceMemory(), DeviceSize memoryOffset_=0)
Definition: vulkan.hpp:13012
CommandBufferAllocateInfo & operator=(VkCommandBufferAllocateInfo const &rhs)
Definition: vulkan.hpp:10255
PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT
Definition: vulkan.hpp:42066
Definition: vulkan_core.h:663
bool operator==(ImageFormatListCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:15189
StructureChain & operator=(StructureChain const &rhs)
Definition: vulkan.hpp:474
Definition: vulkan_core.h:569
DeviceSize range
Definition: vulkan.hpp:9228
PresentTimeGOOGLE(uint32_t presentID_=0, uint64_t desiredPresentTime_=0)
Definition: vulkan.hpp:6892
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes)
Definition: vulkan_core.h:4026
Format format
Definition: vulkan.hpp:23024
PipelineColorBlendStateCreateFlags flags
Definition: vulkan.hpp:19125
Definition: vulkan_core.h:876
ImageLayout initialLayout
Definition: vulkan.hpp:21797
Definition: vulkan_core.h:1319
PipelineVertexInputStateCreateFlags flags
Definition: vulkan.hpp:9461
const GLuint * pipelines
Definition: glext.h:8291
MemoryAllocateFlagsInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:27654
uint32_t dstSubpass
Definition: vulkan.hpp:23286
ObjectEntryTypeNVX type
Definition: vulkan.hpp:24942
DescriptorSetLayoutBinding & setBinding(uint32_t binding_)
Definition: vulkan.hpp:18194
EventCreateInfo(VkEventCreateInfo const &rhs)
Definition: vulkan.hpp:10412
BufferCopy(VkBufferCopy const &rhs)
Definition: vulkan.hpp:5433
DeviceSize optimalBufferCopyRowPitchAlignment
Definition: vulkan.hpp:22335
Definition: vulkan_core.h:5756
Bool32 sampleShadingEnable
Definition: vulkan.hpp:21902
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderSampledImageArrayNonUniformIndexing(Bool32 shaderSampledImageArrayNonUniformIndexing_)
Definition: vulkan.hpp:15878
signed int int32_t
Definition: stdint.h:123
VkResult vkGetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR *pGetFdInfo, int *pFd) const
Definition: vulkan.hpp:1921
Definition: vulkan_core.h:2689
Definition: vulkan_core.h:622
uint32_t waitSemaphoreCount
Definition: vulkan.hpp:31047
Bool32 dedicatedAllocation
Definition: vulkan.hpp:11383
bool operator!=(Fence const &rhs) const
Definition: vulkan.hpp:3577
bool operator!() const
Definition: vulkan.hpp:4608
VkResult vkGetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR *pGetFdInfo, int *pFd) const
Definition: vulkan.hpp:2167
ImageSubresourceRange & setAspectMask(ImageAspectFlags aspectMask_)
Definition: vulkan.hpp:19871
FormatFeatureFlags linearTilingFeatures
Definition: vulkan.hpp:19290
GLenum GLsizei dataSize
Definition: glext.h:12030
PhysicalDeviceFeatures2(PhysicalDeviceFeatures features_=PhysicalDeviceFeatures())
Definition: vulkan.hpp:11904
VULKAN_HPP_CONSTEXPR DescriptorSetLayout()
Definition: vulkan.hpp:3412
RenderPassInputAttachmentAspectCreateInfo & setAspectReferenceCount(uint32_t aspectReferenceCount_)
Definition: vulkan.hpp:20592
DedicatedAllocationImageCreateInfoNV(VkDedicatedAllocationImageCreateInfoNV const &rhs)
Definition: vulkan.hpp:11339
Definition: vulkan.hpp:10051
Definition: vulkan_core.h:2240
Definition: vulkan_core.h:1262
Definition: vulkan_core.h:7201
bool empty() const
Definition: vulkan.hpp:322
uint32_t subpassIndex
Definition: vulkan.hpp:22709
InputAttachmentAspectReference & setAspectMask(ImageAspectFlags aspectMask_)
Definition: vulkan.hpp:20537
DebugUtilsMessageTypeFlagsEXT messageType
Definition: vulkan.hpp:29357
ImageSubresourceLayers & setLayerCount(uint32_t layerCount_)
Definition: vulkan.hpp:19819
bool operator!=(DescriptorUpdateTemplateEntry const &rhs) const
Definition: vulkan.hpp:7515
DeviceGeneratedCommandsLimitsNVX & operator=(VkDeviceGeneratedCommandsLimitsNVX const &rhs)
Definition: vulkan.hpp:11754
ImportMemoryFdInfoKHR(VkImportMemoryFdInfoKHR const &rhs)
Definition: vulkan.hpp:25869
virtual std::string message(int ev) const override
Definition: vulkan.hpp:597
bool operator==(RenderPassMultiviewCreateInfo const &rhs) const
Definition: vulkan.hpp:12836
const uint32_t * pWaitSemaphoreDeviceIndices
Definition: vulkan.hpp:13393
Definition: vulkan_core.h:6706
ImageLayout initialLayout
Definition: vulkan.hpp:23030
void vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures) const
Definition: vulkan.hpp:1999
const void * pNext
Definition: vulkan.hpp:11895
DeviceSize size
Definition: vulkan.hpp:5480
VkResult vkDisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT *pDisplayPowerInfo) const
Definition: vulkan.hpp:1739
PFN_vkCreateDescriptorPool vkCreateDescriptorPool
Definition: vulkan.hpp:41927
Extent3D & operator=(VkExtent3D const &rhs)
Definition: vulkan.hpp:4929
RenderPassCreateInfo(VkRenderPassCreateInfo const &rhs)
Definition: vulkan.hpp:28508
Definition: vulkan.hpp:4012
SwapchainKHR swapchain
Definition: vulkan.hpp:13671
bool operator==(ObjectTablePushConstantEntryNVX const &rhs) const
Definition: vulkan.hpp:25254
Definition: vulkan_core.h:6262
bool operator==(SamplerYcbcrConversionInfo const &rhs) const
Definition: vulkan.hpp:14621
Flags< ExternalFenceHandleTypeFlagBits, VkExternalFenceHandleTypeFlags > ExternalFenceHandleTypeFlags
Definition: vulkan.hpp:26731
VkResult(VKAPI_PTR * PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos)
Definition: vulkan_core.h:4358
Bool32 primitiveRestartEnable
Definition: vulkan.hpp:9538
SampleLocationsInfoEXT sampleLocationsInfo
Definition: vulkan.hpp:22856
BindSparseInfo & setBufferBindCount(uint32_t bufferBindCount_)
Definition: vulkan.hpp:21303
BindImagePlaneMemoryInfo & operator=(VkBindImagePlaneMemoryInfo const &rhs)
Definition: vulkan.hpp:20646
DeviceCreateInfo & setPpEnabledLayerNames(const char *const *ppEnabledLayerNames_)
Definition: vulkan.hpp:17466
CopyDescriptorSet & setPNext(const void *pNext_)
Definition: vulkan.hpp:9055
Definition: vulkan.hpp:1002
VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements *pMemoryRequirements)
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties)
Definition: vulkan_core.h:5477
bool operator!() const
Definition: vulkan.hpp:36247
void freeCommandBuffers(CommandPool commandPool, uint32_t commandBufferCount, const CommandBuffer *pCommandBuffers, Dispatch const &d=Dispatch()) const
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingPartiallyBound(Bool32 descriptorBindingPartiallyBound_)
Definition: vulkan.hpp:15956
PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD
Definition: vulkan.hpp:41882
Flags< SubgroupFeatureFlagBits, VkSubgroupFeatureFlags > SubgroupFeatureFlags
Definition: vulkan.hpp:24429
ArrayProxy(std::initializer_list< T > const &data)
Definition: vulkan.hpp:295
Definition: vulkan_core.h:1023
Definition: vulkan_core.h:751
PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity
Definition: vulkan.hpp:42138
SamplerReductionModeCreateInfoEXT & operator=(VkSamplerReductionModeCreateInfoEXT const &rhs)
Definition: vulkan.hpp:28661
Definition: vulkan_core.h:938
Definition: vulkan_core.h:1343
bool operator!=(MemoryRequirements const &rhs) const
Definition: vulkan.hpp:5324
StructureType sType
Definition: vulkan.hpp:15275
MemoryBarrier(AccessFlags srcAccessMask_=AccessFlags(), AccessFlags dstAccessMask_=AccessFlags())
Definition: vulkan.hpp:17809
Bool32 anisotropyEnable
Definition: vulkan.hpp:10230
DescriptorPoolCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:23108
BufferViewCreateInfo(VkBufferViewCreateInfo const &rhs)
Definition: vulkan.hpp:9152
VkResult vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFramebuffer *pFramebuffer) const
Definition: vulkan.hpp:1475
Definition: vulkan_core.h:1370
DisplayModeCreateInfoKHR & setFlags(DisplayModeCreateFlagsKHR flags_)
Definition: vulkan.hpp:10648
PFN_vkCreateFence vkCreateFence
Definition: vulkan.hpp:41935
IndirectCommandsTokenNVX & setTokenType(IndirectCommandsTokenTypeNVX tokenType_)
Definition: vulkan.hpp:24568
Framebuffer framebuffer
Definition: vulkan.hpp:10398
PipelineColorBlendAdvancedStateCreateInfoEXT(VkPipelineColorBlendAdvancedStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:28979
Definition: vulkan_core.h:2450
VkResult(VKAPI_PTR * PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)
Definition: vulkan_core.h:2735
size_t initialDataSize
Definition: vulkan.hpp:15280
Definition: vulkan_core.h:1170
const VertexInputAttributeDescription * pVertexAttributeDescriptions
Definition: vulkan.hpp:9465
bool operator!=(VertexInputBindingDescription const &rhs) const
Definition: vulkan.hpp:7946
ApplicationInfo & setEngineVersion(uint32_t engineVersion_)
Definition: vulkan.hpp:8631
VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator)
PhysicalDeviceConservativeRasterizationPropertiesEXT & setDegenerateTrianglesRasterized(Bool32 degenerateTrianglesRasterized_)
Definition: vulkan.hpp:15692
PhysicalDeviceBlendOperationAdvancedFeaturesEXT(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs)
Definition: vulkan.hpp:15062
void swap(UniqueHandle< Type > &rhs)
Definition: vulkan.hpp:430
void getMemoryProperties2KHR(PhysicalDeviceMemoryProperties2 *pMemoryProperties, Dispatch const &d=Dispatch()) const
VkResult(VKAPI_PTR * PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void *pHostPointer, VkMemoryHostPointerPropertiesEXT *pMemoryHostPointerProperties)
Definition: vulkan_core.h:7388
StructureType sType
Definition: vulkan.hpp:26708
StructureType sType
Definition: vulkan.hpp:37451
bool operator!=(PushConstantRange const &rhs) const
Definition: vulkan.hpp:18391
Definition: vulkan_core.h:825
GraphicsPipelineCreateInfo & setStageCount(uint32_t stageCount_)
Definition: vulkan.hpp:21955
PFN_vkAllocationFunction pfnAllocation
Definition: vulkan.hpp:5302
bool operator==(SubpassDependency const &rhs) const
Definition: vulkan.hpp:23269
AttachmentDescription & setFinalLayout(ImageLayout finalLayout_)
Definition: vulkan.hpp:22994
VkShaderInfoTypeAMD
Definition: vulkan_core.h:6035
PipelineCoverageModulationStateCreateInfoNV(PipelineCoverageModulationStateCreateFlagsNV flags_=PipelineCoverageModulationStateCreateFlagsNV(), CoverageModulationModeNV coverageModulationMode_=CoverageModulationModeNV::eNone, Bool32 coverageModulationTableEnable_=0, uint32_t coverageModulationTableCount_=0, const float *pCoverageModulationTable_=nullptr)
Definition: vulkan.hpp:29053
Definition: vulkan_core.h:172
PipelineBindPoint pipelineBindPoint
Definition: vulkan.hpp:28483
PastPresentationTimingGOOGLE & setPresentMargin(uint64_t presentMargin_)
Definition: vulkan.hpp:6857
const uint32_t * pDeviceIndices
Definition: vulkan.hpp:13004
BindSparseInfo(VkBindSparseInfo const &rhs)
Definition: vulkan.hpp:21275
DescriptorSetLayoutBindingFlagsCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:29489
ObjectTablePushConstantEntryNVX & setStageFlags(ShaderStageFlags stageFlags_)
Definition: vulkan.hpp:25243
Definition: vulkan_win32.h:86
uint32_t heapIndex
Definition: vulkan.hpp:17652
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(VkDevice device, VkFence fence)
Definition: vulkan_core.h:1307
PhysicalDeviceSparseImageFormatInfo2 & operator=(VkPhysicalDeviceSparseImageFormatInfo2 const &rhs)
Definition: vulkan.hpp:22453
PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2
Definition: vulkan.hpp:42097
PipelineLayoutCreateFlags flags
Definition: vulkan.hpp:18485
uint32_t numUsedVgprs
Definition: vulkan.hpp:7064
DeviceSize offset
Definition: vulkan.hpp:24605
ExportMemoryAllocateInfo(ExternalMemoryHandleTypeFlags handleTypes_=ExternalMemoryHandleTypeFlags())
Definition: vulkan.hpp:25665
Definition: vulkan.hpp:7307
const void * pNext
Definition: vulkan.hpp:18131
VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
Definition: vulkan_core.h:771
bool operator!=(DescriptorSetLayout const &rhs) const
Definition: vulkan.hpp:3443
Result getValidationCacheDataEXT(ValidationCacheEXT validationCache, size_t *pDataSize, void *pData, Dispatch const &d=Dispatch()) const
typename UniqueHandleTraits< Type >::deleter Deleter
Definition: vulkan.hpp:351
MemoryBarrier(VkMemoryBarrier const &rhs)
Definition: vulkan.hpp:17815
Flags< CommandPoolResetFlagBits, VkCommandPoolResetFlags > CommandPoolResetFlags
Definition: vulkan.hpp:21533
uint8_t deviceLUID[VK_LUID_SIZE]
Definition: vulkan.hpp:12174
Definition: vulkan_core.h:4600
Definition: vulkan_core.h:1545
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate)
uint32_t splitInstanceBindRegionCount
Definition: vulkan.hpp:13162
Bool32 sparseResidencyImage2D
Definition: vulkan.hpp:6263
Result getSwapchainCounterEXT(SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, uint64_t *pCounterValue, Dispatch const &d=Dispatch()) const
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display *dpy, VkDisplayKHR display)
Definition: vulkan_core.h:660
VkDescriptorUpdateTemplate m_descriptorUpdateTemplate
Definition: vulkan.hpp:4208
bool operator==(QueueFamilyProperties const &rhs) const
Definition: vulkan.hpp:17255
Definition: vulkan_core.h:1019
Bool32 drawIndirectFirstInstance
Definition: vulkan.hpp:6227
Definition: vulkan_core.h:1439
const PhysicalDeviceFeatures * pEnabledFeatures
Definition: vulkan.hpp:17526
bool operator!=(BufferCreateInfo const &rhs) const
Definition: vulkan.hpp:18122
Definition: vulkan_core.h:4185
const SampleMask * pSampleMask
Definition: vulkan.hpp:21904
PhysicalDevice16BitStorageFeatures(Bool32 storageBuffer16BitAccess_=0, Bool32 uniformAndStorageBuffer16BitAccess_=0, Bool32 storagePushConstant16_=0, Bool32 storageInputOutput16_=0)
Definition: vulkan.hpp:14206
Definition: vulkan_core.h:705
PipelineMultisampleStateCreateFlagBits
Definition: vulkan.hpp:2410
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties)
Definition: vulkan_core.h:4371
BufferMemoryBarrier & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:17924
DrawIndexedIndirectCommand(uint32_t indexCount_=0, uint32_t instanceCount_=0, uint32_t firstIndex_=0, int32_t vertexOffset_=0, uint32_t firstInstance_=0)
Definition: vulkan.hpp:6375
Definition: vulkan_core.h:4664
float maxAnisotropy
Definition: vulkan.hpp:10231
ShaderModuleCreateInfo & setFlags(ShaderModuleCreateFlags flags_)
Definition: vulkan.hpp:9257
void free(DeviceMemory memory, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence)
DescriptorPoolCreateInfo & setMaxSets(uint32_t maxSets_)
Definition: vulkan.hpp:23120
Definition: vulkan_core.h:584
ClearDepthStencilValue & setDepth(float depth_)
Definition: vulkan.hpp:5676
Definition: vulkan_core.h:4008
void vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) const
Definition: vulkan.hpp:1361
PipelineRasterizationStateRasterizationOrderAMD & setRasterizationOrder(RasterizationOrderAMD rasterizationOrder_)
Definition: vulkan.hpp:24056
VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask)
Definition: vulkan_core.h:1052
DebugMarkerMarkerInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:11286
Flags< DescriptorUpdateTemplateCreateFlagBits, VkDescriptorUpdateTemplateCreateFlags > DescriptorUpdateTemplateCreateFlags
Definition: vulkan.hpp:2510
ImageSubresourceRange & setLevelCount(uint32_t levelCount_)
Definition: vulkan.hpp:19883
Definition: vulkan_core.h:1347
NotPermittedEXTError(char const *message)
Definition: vulkan.hpp:841
uint32_t maxSampleMaskWords
Definition: vulkan.hpp:22321
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties *pMemoryProperties)
Definition: vulkan_core.h:2729
EventCreateInfo(EventCreateFlags flags_=EventCreateFlags())
Definition: vulkan.hpp:10407
ExportFenceCreateInfo(ExternalFenceHandleTypeFlags handleTypes_=ExternalFenceHandleTypeFlags())
Definition: vulkan.hpp:26812
ResultValueType< SwapchainKHR >::type createSharedSwapchainKHR(const SwapchainCreateInfoKHR &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
Flags< ExternalMemoryHandleTypeFlagBitsNV, VkExternalMemoryHandleTypeFlagsNV > ExternalMemoryHandleTypeFlagsNV
Definition: vulkan.hpp:24096
Bool32 shaderStorageImageArrayNonUniformIndexingNative
Definition: vulkan.hpp:16088
bool operator==(ClearRect const &rhs) const
Definition: vulkan.hpp:5155
Definition: vulkan_core.h:2657
VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo)
ValidationCacheCreateInfoEXT & setInitialDataSize(size_t initialDataSize_)
Definition: vulkan.hpp:15243
StructureType sType
Definition: vulkan.hpp:25710
PipelineMultisampleStateCreateInfo & setSampleShadingEnable(Bool32 sampleShadingEnable_)
Definition: vulkan.hpp:21842
const void * pNext
Definition: vulkan.hpp:23640
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR *pModes)
PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT
Definition: vulkan.hpp:41963
const SparseMemoryBind * pBinds
Definition: vulkan.hpp:21195
VkResult vkGetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t *pCounterValue) const
Definition: vulkan.hpp:2181
Result createIndirectCommandsLayoutNVX(const IndirectCommandsLayoutCreateInfoNVX *pCreateInfo, const AllocationCallbacks *pAllocator, IndirectCommandsLayoutNVX *pIndirectCommandsLayout, Dispatch const &d=Dispatch()) const
ExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan.hpp:25985
Definition: vulkan_core.h:642
bool operator==(RectLayerKHR const &rhs) const
Definition: vulkan.hpp:6650
DisplaySurfaceCreateFlagsKHR flags
Definition: vulkan.hpp:23641
VkResult vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkQueryPool *pQueryPool) const
Definition: vulkan.hpp:1529
AttachmentLoadOp stencilLoadOp
Definition: vulkan.hpp:23028
bool operator!=(PhysicalDeviceMemoryProperties const &rhs) const
Definition: vulkan.hpp:17721
VULKAN_HPP_CONSTEXPR Framebuffer(std::nullptr_t)
Definition: vulkan.hpp:3818
PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges
Definition: vulkan.hpp:42156
Definition: vulkan_core.h:6829
Definition: vulkan_core.h:6667
MemoryHeapFlags flags
Definition: vulkan.hpp:17702
const void * pNext
Definition: vulkan.hpp:25656
CompareOp
Definition: vulkan.hpp:7608
SamplerCreateInfo & setMagFilter(Filter magFilter_)
Definition: vulkan.hpp:10095
Bool32 depthBounds
Definition: vulkan.hpp:6231
PhysicalDeviceVariablePointerFeatures(VkPhysicalDeviceVariablePointerFeatures const &rhs)
Definition: vulkan.hpp:12086
DebugReportCallbackCreateInfoEXT & setFlags(DebugReportFlagsEXT flags_)
Definition: vulkan.hpp:23773
SamplerCreateInfo & setMaxAnisotropy(float maxAnisotropy_)
Definition: vulkan.hpp:10143
bool operator!=(SurfaceFormat2KHR const &rhs) const
Definition: vulkan.hpp:23361
void destroy(const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:626
void vkDestroyIndirectCommandsLayoutNVX(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1671
int32_t minTexelOffset
Definition: vulkan.hpp:22301
Definition: vulkan_core.h:6239
Buffer buffer
Definition: vulkan.hpp:14581
Definition: vulkan_core.h:1040
BindImageMemorySwapchainInfoKHR(SwapchainKHR swapchain_=SwapchainKHR(), uint32_t imageIndex_=0)
Definition: vulkan.hpp:13526
Definition: vulkan_core.h:205
const T * end() const
Definition: vulkan.hpp:305
BlendFactor dstAlphaBlendFactor
Definition: vulkan.hpp:19028
Flags< RenderPassCreateFlagBits, VkRenderPassCreateFlags > RenderPassCreateFlags
Definition: vulkan.hpp:2372
Definition: vulkan_core.h:5359
Definition: vulkan_core.h:6208
const uint32_t * pViewMasks
Definition: vulkan.hpp:12859
void vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1695
Bool32 robustBufferAccess
Definition: vulkan.hpp:6217
SparseBufferMemoryBindInfo(Buffer buffer_=Buffer(), uint32_t bindCount_=0, const SparseMemoryBind *pBinds_=nullptr)
Definition: vulkan.hpp:21081
StructureType sType
Definition: vulkan.hpp:23159
VULKAN_HPP_TYPESAFE_EXPLICIT DisplayKHR(VkDisplayKHR displayKHR)
Definition: vulkan.hpp:4362
DeviceEventInfoEXT & setDeviceEvent(DeviceEventTypeEXT deviceEvent_)
Definition: vulkan.hpp:27482
Flags< ExternalFenceFeatureFlagBits, VkExternalFenceFeatureFlags > ExternalFenceFeatureFlags
Definition: vulkan.hpp:27005
bool operator==(ExternalMemoryImageCreateInfo const &rhs) const
Definition: vulkan.hpp:25583
CmdProcessCommandsInfoNVX & setSequencesCountBuffer(Buffer sequencesCountBuffer_)
Definition: vulkan.hpp:37361
Definition: vulkan_core.h:7348
CmdReserveSpaceForCommandsInfoNVX(VkCmdReserveSpaceForCommandsInfoNVX const &rhs)
Definition: vulkan.hpp:11838
PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties
Definition: vulkan.hpp:42019
Definition: vulkan_core.h:1544
bool operator!=(DeviceGroupSwapchainCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:27874
CommandBufferBeginInfo(CommandBufferUsageFlags flags_=CommandBufferUsageFlags(), const CommandBufferInheritanceInfo *pInheritanceInfo_=nullptr)
Definition: vulkan.hpp:19543
Definition: vulkan.hpp:17807
Definition: vulkan_core.h:1043
Definition: vulkan_core.h:640
Result enumeratePhysicalDevices(uint32_t *pPhysicalDeviceCount, PhysicalDevice *pPhysicalDevices, Dispatch const &d=Dispatch()) const
SwapchainCreateInfoKHR & operator=(VkSwapchainCreateInfoKHR const &rhs)
Definition: vulkan.hpp:27941
DescriptorType descriptorType
Definition: vulkan.hpp:18244
CopyDescriptorSet & operator=(VkCopyDescriptorSet const &rhs)
Definition: vulkan.hpp:9050
PFN_vkDestroySemaphore vkDestroySemaphore
Definition: vulkan.hpp:42008
bool operator!=(ExternalMemoryBufferCreateInfo const &rhs) const
Definition: vulkan.hpp:25647
RenderPassCreateInfo & setPSubpasses(const SubpassDescription *pSubpasses_)
Definition: vulkan.hpp:28548
VkResult(VKAPI_PTR * PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t *pCounterValue)
Definition: vulkan_core.h:6545
VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t *pDisplayCount, VkDisplayKHR *pDisplays)
VkResult(VKAPI_PTR * PFN_vkGetEventStatus)(VkDevice device, VkEvent event)
Definition: vulkan_core.h:2765
Definition: vulkan_core.h:1380
Definition: vulkan_core.h:560
bool operator!=(PhysicalDeviceSamplerYcbcrConversionFeatures const &rhs) const
Definition: vulkan.hpp:14685
FormatNotSupportedError(char const *message)
Definition: vulkan.hpp:753
DebugUtilsLabelEXT(VkDebugUtilsLabelEXT const &rhs)
Definition: vulkan.hpp:15465
DescriptorUpdateTemplateEntry(uint32_t dstBinding_=0, uint32_t dstArrayElement_=0, uint32_t descriptorCount_=0, DescriptorType descriptorType_=DescriptorType::eSampler, size_t offset_=0, size_t stride_=0)
Definition: vulkan.hpp:7444
Definition: vulkan.hpp:253
bool operator==(Extent3D const &rhs) const
Definition: vulkan.hpp:4957
VkPipelineLayout m_pipelineLayout
Definition: vulkan.hpp:3270
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties)
VULKAN_HPP_CONSTEXPR DescriptorSet()
Definition: vulkan.hpp:3345
bool operator==(DeviceGeneratedCommandsLimitsNVX const &rhs) const
Definition: vulkan.hpp:11800
bool operator!=(PipelineRasterizationStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9818
StructureType sType
Definition: vulkan.hpp:22601
PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR
Definition: vulkan.hpp:42058
Definition: vulkan_core.h:336
Definition: vulkan_core.h:887
Pipeline & operator=(std::nullptr_t)
Definition: vulkan.hpp:3164
FragmentationEXTError(char const *message)
Definition: vulkan.hpp:833
ImportFenceFdInfoKHR & setFlags(FenceImportFlags flags_)
Definition: vulkan.hpp:27214
HdrMetadataEXT & setDisplayPrimaryGreen(XYColorEXT displayPrimaryGreen_)
Definition: vulkan.hpp:13715
WriteDescriptorSet & setDstSet(DescriptorSet dstSet_)
Definition: vulkan.hpp:8944
BlendOverlapEXT blendOverlap
Definition: vulkan.hpp:29039
bool operator==(ExportMemoryAllocateInfoNV const &rhs) const
Definition: vulkan.hpp:24205
bool operator==(PhysicalDeviceSparseProperties const &rhs) const
Definition: vulkan.hpp:6282
SwapchainCreateInfoKHR & setPresentMode(PresentModeKHR presentMode_)
Definition: vulkan.hpp:28030
const void * pNext
Definition: vulkan.hpp:26860
Definition: vulkan_win32.h:64
Definition: vulkan_core.h:529
Offset3D & operator=(VkOffset3D const &rhs)
Definition: vulkan.hpp:4818
SparseMemoryBindFlagBits
Definition: vulkan.hpp:20889
bool operator!=(CmdProcessCommandsInfoNVX const &rhs) const
Definition: vulkan.hpp:37406
PFN_vkGetDeviceQueue vkGetDeviceQueue
Definition: vulkan.hpp:42042
ExternalMemoryHandleTypeFlags handleTypes
Definition: vulkan.hpp:25600
const void * pNext
Definition: vulkan.hpp:10613
PipelineColorBlendAttachmentState(VkPipelineColorBlendAttachmentState const &rhs)
Definition: vulkan.hpp:18943
ImageMemoryRequirementsInfo2 & setPNext(const void *pNext_)
Definition: vulkan.hpp:14362
bool operator==(AcquireNextImageInfoKHR const &rhs) const
Definition: vulkan.hpp:13650
Bool32 occlusionQueryPrecise
Definition: vulkan.hpp:6240
SharingMode imageSharingMode
Definition: vulkan.hpp:28093
StructureType sType
Definition: vulkan.hpp:22085
DeviceGroupSubmitInfo & setSignalSemaphoreCount(uint32_t signalSemaphoreCount_)
Definition: vulkan.hpp:13353
Definition: vulkan_core.h:4827
Bool32 shaderUniformBufferArrayNonUniformIndexingNative
Definition: vulkan.hpp:16085
const void * pNext
Definition: vulkan.hpp:9130
InstanceCreateInfo & setEnabledLayerCount(uint32_t enabledLayerCount_)
Definition: vulkan.hpp:8717
Definition: vulkan_core.h:540
Extent2D minImageExtent
Definition: vulkan.hpp:27326
FramebufferCreateInfo & setPAttachments(const ImageView *pAttachments_)
Definition: vulkan.hpp:10562
PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT
Definition: vulkan.hpp:42160
Result createComputePipelines(PipelineCache pipelineCache, uint32_t createInfoCount, const ComputePipelineCreateInfo *pCreateInfos, const AllocationCallbacks *pAllocator, Pipeline *pPipelines, Dispatch const &d=Dispatch()) const
MemoryAllocateInfo & setMemoryTypeIndex(uint32_t memoryTypeIndex_)
Definition: vulkan.hpp:8807
void updateBuffer(Buffer dstBuffer, DeviceSize dstOffset, DeviceSize dataSize, const void *pData, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1356
bool operator!=(TextureLODGatherFormatPropertiesAMD const &rhs) const
Definition: vulkan.hpp:14745
SystemAllocationScope
Definition: vulkan.hpp:7873
DeviceMemory & operator=(std::nullptr_t)
Definition: vulkan.hpp:2695
bool operator==(ExternalBufferProperties const &rhs) const
Definition: vulkan.hpp:26149
bool operator==(SampleLocationsInfoEXT const &rhs) const
Definition: vulkan.hpp:22585
bool operator!=(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs) const
Definition: vulkan.hpp:14135
Definition: vulkan.hpp:6668
VULKAN_HPP_CONSTEXPR Event()
Definition: vulkan.hpp:3680
CommandPoolCreateInfo & setQueueFamilyIndex(uint32_t queueFamilyIndex_)
Definition: vulkan.hpp:21494
void vkGetDescriptorSetLayoutSupportKHR(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport) const
Definition: vulkan.hpp:1817
Definition: vulkan_core.h:367
PhysicalDeviceFeatures & setPipelineStatisticsQuery(Bool32 pipelineStatisticsQuery_)
Definition: vulkan.hpp:5962
Definition: vulkan_core.h:141
Definition: nk_menu.h:45
PipelineInputAssemblyStateCreateInfo & setTopology(PrimitiveTopology topology_)
Definition: vulkan.hpp:9500
Definition: vulkan_core.h:7254
uint32_t dynamicCount
Definition: vulkan.hpp:24673
Definition: vulkan.hpp:4915
void(VKAPI_PTR * PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
Definition: vulkan_core.h:4364
DebugUtilsMessengerCallbackDataEXT & setPCmdBufLabels(DebugUtilsLabelEXT *pCmdBufLabels_)
Definition: vulkan.hpp:17157
ValidationCacheCreateFlagsEXT flags
Definition: vulkan.hpp:15279
Definition: vulkan_core.h:6510
Bool32 sparseResidency4Samples
Definition: vulkan.hpp:6266
DeviceSize memoryOffset
Definition: vulkan.hpp:21074
Definition: vulkan.hpp:19296
PhysicalDeviceExternalBufferInfo & setHandleType(ExternalMemoryHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:25511
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display *dpy, VisualID visualID)
ImportSemaphoreFdInfoKHR & setFlags(SemaphoreImportFlags flags_)
Definition: vulkan.hpp:26669
ObjectTableDescriptorSetEntryNVX & setFlags(ObjectEntryUsageFlagsNVX flags_)
Definition: vulkan.hpp:25033
DrawIndirectCommand & setFirstInstance(uint32_t firstInstance_)
Definition: vulkan.hpp:6342
const void * pNext
Definition: vulkan.hpp:25467
PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2
Definition: vulkan.hpp:42094
uint32_t minSequenceCountBufferOffsetAlignment
Definition: vulkan.hpp:11823
Definition: vulkan_core.h:1085
SparseMemoryBindFlags flags
Definition: vulkan.hpp:20988
ClearValue(ClearColorValue color_=ClearColorValue())
Definition: vulkan.hpp:5711
VkResult(VKAPI_PTR * PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX *const *ppObjectTableEntries, const uint32_t *pObjectIndices)
Definition: vulkan_core.h:6353
SamplerCreateInfo & setUnnormalizedCoordinates(Bool32 unnormalizedCoordinates_)
Definition: vulkan.hpp:10179
Definition: vulkan.hpp:3275
uint32_t wavefrontsPerSimd
Definition: vulkan.hpp:15799
bool operator==(EventCreateInfo const &rhs) const
Definition: vulkan.hpp:10439
PhysicalDeviceFeatures & setShaderStorageImageReadWithoutFormat(Bool32 shaderStorageImageReadWithoutFormat_)
Definition: vulkan.hpp:6004
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t *pPropertyCount, VkSparseImageFormatProperties *pProperties)
Definition: vulkan_core.h:2754
uint32_t maxComputeWorkGroupSize[3]
Definition: vulkan.hpp:22285
void vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo) const
Definition: vulkan.hpp:1153
StructureType sType
Definition: vulkan.hpp:21781
Offset3D offset
Definition: vulkan.hpp:21071
bool operator==(ObjectTableDescriptorSetEntryNVX const &rhs) const
Definition: vulkan.hpp:25056
BindSparseInfo & setPImageBinds(const SparseImageMemoryBindInfo *pImageBinds_)
Definition: vulkan.hpp:21333
SamplerCreateInfo & setBorderColor(BorderColor borderColor_)
Definition: vulkan.hpp:10173
StructureType sType
Definition: vulkan.hpp:13458
void(VKAPI_PTR * PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:4377
ComputePipelineCreateInfo & setStage(PipelineShaderStageCreateInfo stage_)
Definition: vulkan.hpp:18843
PhysicalDeviceSparseImageFormatInfo2 & setFormat(Format format_)
Definition: vulkan.hpp:22464
DebugUtilsMessengerCallbackDataEXT & setFlags(DebugUtilsMessengerCallbackDataFlagsEXT flags_)
Definition: vulkan.hpp:17115
ObjectTablePipelineEntryNVX(VkObjectTablePipelineEntryNVX const &rhs)
Definition: vulkan.hpp:24956
SampleLocationEXT & setX(float x_)
Definition: vulkan.hpp:7010
uint32_t maxVertexInputAttributeOffset
Definition: vulkan.hpp:22262
Definition: vulkan_core.h:2584
Result allocateCommandBuffers(const CommandBufferAllocateInfo *pAllocateInfo, CommandBuffer *pCommandBuffers, Dispatch const &d=Dispatch()) const
bool operator!=(PipelineShaderStageCreateInfo const &rhs) const
Definition: vulkan.hpp:18324
bool operator==(DedicatedAllocationMemoryAllocateInfoNV const &rhs) const
Definition: vulkan.hpp:11483
Buffer & operator=(std::nullptr_t)
Definition: vulkan.hpp:2829
void draw(uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance, Dispatch const &d=Dispatch()) const
const void * pNext
Definition: vulkan.hpp:29354
Definition: vulkan_core.h:4554
Definition: vulkan_core.h:134
const void * pNext
Definition: vulkan.hpp:27754
VkResult(VKAPI_PTR * PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
Definition: vulkan_core.h:2750
const void * pNext
Definition: vulkan.hpp:21522
bool operator!=(PipelineViewportStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9679
PhysicalDeviceFeatures & setShaderFloat64(Bool32 shaderFloat64_)
Definition: vulkan.hpp:6052
bool operator!=(PhysicalDeviceGroupProperties const &rhs) const
Definition: vulkan.hpp:37445
float width
Definition: vulkan.hpp:5055
PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR
Definition: vulkan.hpp:42065
DescriptorSetVariableDescriptorCountAllocateInfoEXT & setPDescriptorCounts(const uint32_t *pDescriptorCounts_)
Definition: vulkan.hpp:16140
Definition: vulkan_core.h:953
bool operator!=(ImportMemoryFdInfoKHR const &rhs) const
Definition: vulkan.hpp:25910
Definition: vulkan_core.h:612
PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants
Definition: vulkan.hpp:41899
StructureType sType
Definition: vulkan.hpp:8764
VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(VkCommandBuffer commandBuffer)
bool operator==(BindImageMemorySwapchainInfoKHR const &rhs) const
Definition: vulkan.hpp:13565
void vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource *pSubresource, VkSubresourceLayout *pLayout) const
Definition: vulkan.hpp:1907
InputAttachmentAspectReference(uint32_t subpass_=0, uint32_t inputAttachmentIndex_=0, ImageAspectFlags aspectMask_=ImageAspectFlags())
Definition: vulkan.hpp:20508
RenderPassCreateInfo & operator=(VkRenderPassCreateInfo const &rhs)
Definition: vulkan.hpp:28513
SamplerMipmapMode mipmapMode
Definition: vulkan.hpp:10225
GraphicsPipelineCreateInfo & setPInputAssemblyState(const PipelineInputAssemblyStateCreateInfo *pInputAssemblyState_)
Definition: vulkan.hpp:21973
BlendOp alphaBlendOp
Definition: vulkan.hpp:19029
ImportSemaphoreFdInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:26657
void(VKAPI_PTR * PFN_vkInternalFreeNotification)(void *pUserData, size_t size, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope)
Definition: vulkan_core.h:1659
uint32_t maxCombinedClipAndCullDistances
Definition: vulkan.hpp:22326
Definition: vulkan_core.h:648
uint32_t waitSemaphoreCount
Definition: vulkan.hpp:13392
bool operator!=(PipelineDynamicStateCreateInfo const &rhs) const
Definition: vulkan.hpp:16733
DeviceSize imageMipTailStride
Definition: vulkan.hpp:20825
Definition: vulkan_core.h:4862
uint32_t bindingCount
Definition: vulkan.hpp:25368
Viewport & operator=(VkViewport const &rhs)
Definition: vulkan.hpp:4992
bool operator!=(PhysicalDevice16BitStorageFeatures const &rhs) const
Definition: vulkan.hpp:14269
ObjectTableVertexBufferEntryNVX & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:25107
ClearAttachment & operator=(VkClearAttachment const &rhs)
Definition: vulkan.hpp:20472
Definition: vulkan.hpp:106
Definition: vulkan_core.h:4285
ImageCreateInfo(VkImageCreateInfo const &rhs)
Definition: vulkan.hpp:21657
PipelineVertexInputDivisorStateCreateInfoEXT(VkPipelineVertexInputDivisorStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:16210
BufferView & operator=(std::nullptr_t)
Definition: vulkan.hpp:2896
PresentTimesInfoGOOGLE(uint32_t swapchainCount_=0, const PresentTimeGOOGLE *pTimes_=nullptr)
Definition: vulkan.hpp:13799
PFN_vkDestroyInstance vkDestroyInstance
Definition: vulkan.hpp:41998
DedicatedAllocationBufferCreateInfoNV & setDedicatedAllocation(Bool32 dedicatedAllocation_)
Definition: vulkan.hpp:11410
ShaderModuleCreateInfo(ShaderModuleCreateFlags flags_=ShaderModuleCreateFlags(), size_t codeSize_=0, const uint32_t *pCode_=nullptr)
Definition: vulkan.hpp:9234
bool operator!() const
Definition: vulkan.hpp:31159
Definition: vulkan_core.h:3760
StructureType sType
Definition: vulkan.hpp:13516
Definition: vulkan.hpp:28372
ImportFenceFdInfoKHR(Fence fence_=Fence(), FenceImportFlags flags_=FenceImportFlags(), ExternalFenceHandleTypeFlagBits handleType_=ExternalFenceHandleTypeFlagBits::eOpaqueFd, int fd_=0)
Definition: vulkan.hpp:27184
ImageCopy(VkImageCopy const &rhs)
Definition: vulkan.hpp:20157
PhysicalDeviceDescriptorIndexingFeaturesEXT & operator=(VkPhysicalDeviceDescriptorIndexingFeaturesEXT const &rhs)
Definition: vulkan.hpp:15843
Definition: vulkan_core.h:4101
uint32_t maxDescriptorSetStorageBuffers
Definition: vulkan.hpp:22255
bool operator!=(InstanceCreateInfo const &rhs) const
Definition: vulkan.hpp:8758
Definition: vulkan_core.h:6206
DeviceSize minTexelBufferOffsetAlignment
Definition: vulkan.hpp:22298
MemoryAllocateInfo & operator=(VkMemoryAllocateInfo const &rhs)
Definition: vulkan.hpp:8790
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingStorageBufferUpdateAfterBind(Bool32 descriptorBindingStorageBufferUpdateAfterBind_)
Definition: vulkan.hpp:15932
uint32_t numPhysicalVgprs
Definition: vulkan.hpp:18518
DeviceSize memoryOffset
Definition: vulkan.hpp:12938
SpecializationInfo & setDataSize(size_t dataSize_)
Definition: vulkan.hpp:5576
ImageCreateInfo & setFlags(ImageCreateFlags flags_)
Definition: vulkan.hpp:21673
bool operator!=(PhysicalDeviceSampleLocationsPropertiesEXT const &rhs) const
Definition: vulkan.hpp:22878
const void * pNext
Definition: vulkan.hpp:8835
const char * pName
Definition: vulkan.hpp:18337
Definition: vulkan_core.h:3927
CmdReserveSpaceForCommandsInfoNVX & setPNext(const void *pNext_)
Definition: vulkan.hpp:11848
uint32_t simdPerComputeUnit
Definition: vulkan.hpp:15798
BufferViewCreateInfo & setOffset(DeviceSize offset_)
Definition: vulkan.hpp:9186
VkResult(VKAPI_PTR * PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_xlib.h:45
Definition: vulkan_core.h:6827
RenderPassInputAttachmentAspectCreateInfo(uint32_t aspectReferenceCount_=0, const InputAttachmentAspectReference *pAspectReferences_=nullptr)
Definition: vulkan.hpp:20570
Flags< PipelineViewportSwizzleStateCreateFlagBitsNV, VkPipelineViewportSwizzleStateCreateFlagsNV > PipelineViewportSwizzleStateCreateFlagsNV
Definition: vulkan.hpp:2628
VkResult vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties) const
Definition: vulkan.hpp:1771
DescriptorImageInfo & setImageView(ImageView imageView_)
Definition: vulkan.hpp:7167
const SparseImageMemoryBindInfo * pImageBinds
Definition: vulkan.hpp:21389
DisplaySurfaceCreateInfoKHR(VkDisplaySurfaceCreateInfoKHR const &rhs)
Definition: vulkan.hpp:23548
PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT
Definition: vulkan.hpp:41986
Definition: vulkan_core.h:7417
PFN_vkResetCommandPool vkResetCommandPool
Definition: vulkan.hpp:42172
ObjectTableEntryNVX(VkObjectTableEntryNVX const &rhs)
Definition: vulkan.hpp:24904
float color[4]
Definition: vulkan.hpp:15517
Definition: vulkan_core.h:503
ImageSubresource & setMipLevel(uint32_t mipLevel_)
Definition: vulkan.hpp:19746
Bool32 shaderResourceMinLod
Definition: vulkan.hpp:6260
uint32_t disabledValidationCheckCount
Definition: vulkan.hpp:24411
PFN_vkDestroyPipelineCache vkDestroyPipelineCache
Definition: vulkan.hpp:42001
ImageAspectFlags aspectMask
Definition: vulkan.hpp:19775
StructureType sType
Definition: vulkan.hpp:26132
OutOfDateKHRError(char const *message)
Definition: vulkan.hpp:801
PhysicalDeviceFeatures & setSparseResidencyBuffer(Bool32 sparseResidencyBuffer_)
Definition: vulkan.hpp:6088
XYColorEXT(float x_=0, float y_=0)
Definition: vulkan.hpp:6721
SwapchainCreateInfoKHR & setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_)
Definition: vulkan.hpp:28006
PhysicalDeviceFeatures & setTessellationShader(Bool32 tessellationShader_)
Definition: vulkan.hpp:5848
PipelineRasterizationStateCreateInfo & operator=(VkPipelineRasterizationStateCreateInfo const &rhs)
Definition: vulkan.hpp:9719
VULKAN_HPP_CONSTEXPR Semaphore(std::nullptr_t)
Definition: vulkan.hpp:3617
bool operator!=(DeviceGroupCommandBufferBeginInfo const &rhs) const
Definition: vulkan.hpp:13285
SubpassSampleLocationsEXT & operator=(VkSubpassSampleLocationsEXT const &rhs)
Definition: vulkan.hpp:22676
Definition: vulkan_core.h:1440
Definition: vulkan.hpp:4753
Viewport(float x_=0, float y_=0, float width_=0, float height_=0, float minDepth_=0, float maxDepth_=0)
Definition: vulkan.hpp:4977
Definition: vulkan_core.h:6417
Flags< FenceImportFlagBits, VkFenceImportFlags > FenceImportFlags
Definition: vulkan.hpp:27067
StructureType sType
Definition: vulkan.hpp:26312
bool operator==(ObjectTablePipelineEntryNVX const &rhs) const
Definition: vulkan.hpp:24989
ObjectTablePipelineEntryNVX(ObjectEntryTypeNVX type_=ObjectEntryTypeNVX::eDescriptorSet, ObjectEntryUsageFlagsNVX flags_=ObjectEntryUsageFlagsNVX(), Pipeline pipeline_=Pipeline())
Definition: vulkan.hpp:24949
PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR
Definition: vulkan.hpp:42109
bool operator==(ImageMemoryRequirementsInfo2 const &rhs) const
Definition: vulkan.hpp:14379
FenceCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:19176
const ViewportWScalingNV * pViewportWScalings
Definition: vulkan.hpp:14062
Flags< BufferViewCreateFlagBits, VkBufferViewCreateFlags > BufferViewCreateFlags
Definition: vulkan.hpp:2456
PhysicalDeviceVariablePointerFeatures & setVariablePointers(Bool32 variablePointers_)
Definition: vulkan.hpp:12108
bool operator==(Semaphore const &rhs) const
Definition: vulkan.hpp:3639
Definition: vulkan_core.h:1106
Definition: vulkan.hpp:3074
PFN_vkRegisterObjectsNVX vkRegisterObjectsNVX
Definition: vulkan.hpp:42169
Definition: vulkan_core.h:5955
VULKAN_HPP_CONSTEXPR Buffer()
Definition: vulkan.hpp:2809
void vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit *pRegions, VkFilter filter) const
Definition: vulkan.hpp:1181
VkResult(VKAPI_PTR * PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence)
Definition: vulkan_core.h:2756
IndirectCommandsTokenNVX & operator=(VkIndirectCommandsTokenNVX const &rhs)
Definition: vulkan.hpp:24563
VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos)
Definition: vulkan_core.h:150
uint32_t baseArrayLayer
Definition: vulkan.hpp:19845
StructureType sType
Definition: vulkan.hpp:9220
void vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment *pAttachments, uint32_t rectCount, const VkClearRect *pRects) const
Definition: vulkan.hpp:1185
VkResult vkAcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR *pAcquireInfo, uint32_t *pImageIndex) const
Definition: vulkan.hpp:1099
VULKAN_HPP_CONSTEXPR DisplayModeKHR(std::nullptr_t)
Definition: vulkan.hpp:4425
PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT
Definition: vulkan.hpp:42180
StructureType sType
Definition: vulkan.hpp:14196
bool operator==(SubpassSampleLocationsEXT const &rhs) const
Definition: vulkan.hpp:22698
VkResult vkCreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate) const
Definition: vulkan.hpp:1451
Bool32 largePoints
Definition: vulkan.hpp:6233
PresentInfoKHR & setPImageIndices(const uint32_t *pImageIndices_)
Definition: vulkan.hpp:16612
DisplayEventInfoEXT & operator=(VkDisplayEventInfoEXT const &rhs)
Definition: vulkan.hpp:27531
BlendOp
Definition: vulkan.hpp:7685
Definition: vulkan_core.h:2558
VkResult(VKAPI_PTR * PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice)
Definition: vulkan_core.h:2732
IndirectCommandsTokenNVX & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:24574
Definition: vulkan_core.h:653
const void * pNext
Definition: vulkan.hpp:24166
StructureType sType
Definition: vulkan.hpp:15568
void pushDescriptorSetWithTemplateKHR(DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, const void *pData, Dispatch const &d=Dispatch()) const
ResultValueType< void >::type reset(CommandBufferResetFlags flags, Dispatch const &d=Dispatch()) const
const void * pNext
Definition: vulkan.hpp:19599
Definition: vulkan_core.h:2097
bool operator!=(PipelineViewportWScalingStateCreateInfoNV const &rhs) const
Definition: vulkan.hpp:14050
FramebufferCreateInfo & operator=(VkFramebufferCreateInfo const &rhs)
Definition: vulkan.hpp:10533
StructureType sType
Definition: vulkan.hpp:13156
IndirectCommandsLayoutTokenNVX & setDynamicCount(uint32_t dynamicCount_)
Definition: vulkan.hpp:24641
VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents)
uint32_t swapchainCount
Definition: vulkan.hpp:16653
bool operator==(PhysicalDeviceDescriptorIndexingPropertiesEXT const &rhs) const
Definition: vulkan.hpp:16045
PresentInfoKHR & setPResults(Result *pResults_)
Definition: vulkan.hpp:16618
void vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const
Definition: vulkan.hpp:1357
SparseImageMemoryBind & setExtent(Extent3D extent_)
Definition: vulkan.hpp:21026
PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect
Definition: vulkan.hpp:41879
void vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const
Definition: vulkan.hpp:1265
uint32_t maxPerStageDescriptorInputAttachments
Definition: vulkan.hpp:22250
void(VKAPI_PTR * PFN_vkFreeFunction)(void *pUserData, void *pMemory)
Definition: vulkan_core.h:1649
Definition: vulkan_core.h:1898
Bool32 dedicatedAllocation
Definition: vulkan.hpp:11438
uint32_t maxColorAttachments
Definition: vulkan.hpp:22315
Definition: vulkan_core.h:1293
VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors)
Definition: vulkan_win32.h:258
PFN_vkCreateQueryPool vkCreateQueryPool
Definition: vulkan.hpp:41954
bool operator!=(PipelineLayoutCreateInfo const &rhs) const
Definition: vulkan.hpp:18475
VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks *pAllocator)
PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT
Definition: vulkan.hpp:42176
ValidationFlagsEXT(uint32_t disabledValidationCheckCount_=0, ValidationCheckEXT *pDisabledValidationChecks_=nullptr)
Definition: vulkan.hpp:24354
Definition: vulkan_core.h:359
VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets)
bool operator==(PipelineSampleLocationsStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:22837
uint32_t dstArrayElement
Definition: vulkan.hpp:7521
void vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue *pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange *pRanges) const
Definition: vulkan.hpp:1193
PFN_vkCmdExecuteCommands vkCmdExecuteCommands
Definition: vulkan.hpp:41886
#define VK_MAX_MEMORY_TYPES
Definition: vulkan_core.h:110
Result * pResults
Definition: vulkan.hpp:16656
BufferViewCreateInfo & operator=(VkBufferViewCreateInfo const &rhs)
Definition: vulkan.hpp:9157
Definition: vulkan.hpp:8914
DispatchLoaderDynamic(Instance instance=Instance(), Device device=Device())
Definition: vulkan.hpp:42190
uint32_t rectangleCount
Definition: vulkan.hpp:6714
bool operator!=(DisplayEventInfoEXT const &rhs) const
Definition: vulkan.hpp:27560
DrawIndexedIndirectCommand & setFirstInstance(uint32_t firstInstance_)
Definition: vulkan.hpp:6418
PFN_vkDestroyObjectTableNVX vkDestroyObjectTableNVX
Definition: vulkan.hpp:41999
uint32_t dstBinding
Definition: vulkan.hpp:7520
uint32_t inputAttachmentCount
Definition: vulkan.hpp:28484
ImagePlaneMemoryRequirementsInfo & operator=(VkImagePlaneMemoryRequirementsInfo const &rhs)
Definition: vulkan.hpp:20703
Definition: vulkan_core.h:1036
bool operator!=(RenderPassMultiviewCreateInfo const &rhs) const
Definition: vulkan.hpp:12848
DeviceCreateFlagBits
Definition: vulkan.hpp:2464
ImageBlit & setDstSubresource(ImageSubresourceLayers dstSubresource_)
Definition: vulkan.hpp:20256
VkResult(VKAPI_PTR * PFN_vkCreateMirSurfaceKHR)(VkInstance instance, const VkMirSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_mir.h:45
bool operator!() const
Definition: vulkan.hpp:4135
PFN_vkImportFenceFdKHR vkImportFenceFdKHR
Definition: vulkan.hpp:42148
uint32_t deviceMask
Definition: vulkan.hpp:13675
Definition: vulkan_core.h:4845
PhysicalDeviceFeatures & setShaderSampledImageArrayDynamicIndexing(Bool32 shaderSampledImageArrayDynamicIndexing_)
Definition: vulkan.hpp:6022
Definition: vulkan.hpp:23347
Definition: vulkan_core.h:750
Result createImage(const ImageCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Image *pImage, Dispatch const &d=Dispatch()) const
bool operator==(PhysicalDeviceDiscardRectanglePropertiesEXT const &rhs) const
Definition: vulkan.hpp:14100
bool operator!=(BufferView const &rhs) const
Definition: vulkan.hpp:2907
SparseImageOpaqueMemoryBindInfo(Image image_=Image(), uint32_t bindCount_=0, const SparseMemoryBind *pBinds_=nullptr)
Definition: vulkan.hpp:21141
ImageTiling
Definition: vulkan.hpp:7273
VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pPresentationTimingCount, VkPastPresentationTimingGOOGLE *pPresentationTimings)
uint32_t numUsedSgprs
Definition: vulkan.hpp:7065
DedicatedAllocationMemoryAllocateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:11460
Definition: vulkan_core.h:4263
SurfaceTransformFlagBitsKHR preTransform
Definition: vulkan.hpp:28096
Definition: vulkan_core.h:4565
StructureType sType
Definition: vulkan.hpp:19121
ProtectedSubmitInfo(Bool32 protectedSubmit_=0)
Definition: vulkan.hpp:14761
Definition: vulkan_core.h:696
void(VKAPI_PTR * PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
Definition: vulkan_core.h:2831
VkSampler m_sampler
Definition: vulkan.hpp:3337
Definition: vulkan_core.h:1044
VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool)
bool operator==(const FloatProxy< T > &first, const FloatProxy< T > &second)
Definition: hex_float.h:162
Definition: vulkan_core.h:4542
SampleCountFlagBits sampleLocationsPerPixel
Definition: vulkan.hpp:22605
VULKAN_HPP_CONSTEXPR Queue(std::nullptr_t)
Definition: vulkan.hpp:31064
const GLdouble * v
Definition: glext.h:6391
Definition: vulkan_core.h:4082
bool operator!=(QueryPoolCreateInfo const &rhs) const
Definition: vulkan.hpp:19670
Definition: vulkan_core.h:6652
Definition: vulkan.hpp:20146
DescriptorUpdateTemplateEntry & operator=(VkDescriptorUpdateTemplateEntry const &rhs)
Definition: vulkan.hpp:7459
PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT
Definition: vulkan.hpp:42102
StructureType sType
Definition: vulkan.hpp:28590
const void * pNext
Definition: vulkan.hpp:27509
ImageSubresourceLayers & setBaseArrayLayer(uint32_t baseArrayLayer_)
Definition: vulkan.hpp:19813
virtual const char * what() const noexcept
Definition: vulkan.hpp:661
const void * pNext
Definition: vulkan.hpp:15278
DescriptorSetLayoutBinding & operator=(VkDescriptorSetLayoutBinding const &rhs)
Definition: vulkan.hpp:18189
StructureType sType
Definition: vulkan.hpp:10751
DescriptorUpdateTemplateCreateInfo & setPipelineBindPoint(PipelineBindPoint pipelineBindPoint_)
Definition: vulkan.hpp:16816
PipelineViewportStateCreateInfo & setFlags(PipelineViewportStateCreateFlags flags_)
Definition: vulkan.hpp:9633
Definition: vulkan_core.h:3906
bool operator!=(Flags< BitType > const &rhs) const
Definition: vulkan.hpp:197
PipelineColorBlendStateCreateFlagBits
Definition: vulkan.hpp:2404
SubpassDependency(VkSubpassDependency const &rhs)
Definition: vulkan.hpp:23212
ProtectedSubmitInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:14776
void(VKAPI_PTR * PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo)
Definition: vulkan_core.h:6903
LogicOp logicOp
Definition: vulkan.hpp:19127
PipelineDiscardRectangleStateCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:28284
Definition: vulkan_core.h:2324
ExternalMemoryFeatureFlags externalMemoryFeatures
Definition: vulkan.hpp:26104
Definition: vulkan_core.h:7368
float x
Definition: vulkan.hpp:5053
bool operator!=(ImportFenceFdInfoKHR const &rhs) const
Definition: vulkan.hpp:27247
StructureType sType
Definition: vulkan.hpp:10218
bool operator==(DrawIndirectCommand const &rhs) const
Definition: vulkan.hpp:6353
Extent2D maxImageExtent
Definition: vulkan.hpp:23682
Definition: vulkan_core.h:6455
Definition: vulkan_core.h:827
Definition: vulkan_core.h:1318
StructureType
Definition: vulkan.hpp:8291
Definition: vulkan_core.h:6867
Definition: vulkan_core.h:496
const IndirectCommandsTokenNVX * pIndirectCommandsTokens
Definition: vulkan.hpp:37419
const void * pNext
Definition: vulkan.hpp:23162
PFN_vkCmdResetEvent vkCmdResetEvent
Definition: vulkan.hpp:41896
Offset2D offset
Definition: vulkan.hpp:5108
Definition: vulkan_core.h:1542
ImageLayout imageLayout
Definition: vulkan.hpp:7198
DrawIndexedIndirectCommand & operator=(VkDrawIndexedIndirectCommand const &rhs)
Definition: vulkan.hpp:6389
Definition: vulkan.hpp:4552
void destroyFence(Fence fence, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
BindSparseInfo(uint32_t waitSemaphoreCount_=0, const Semaphore *pWaitSemaphores_=nullptr, uint32_t bufferBindCount_=0, const SparseBufferMemoryBindInfo *pBufferBinds_=nullptr, uint32_t imageOpaqueBindCount_=0, const SparseImageOpaqueMemoryBindInfo *pImageOpaqueBinds_=nullptr, uint32_t imageBindCount_=0, const SparseImageMemoryBindInfo *pImageBinds_=nullptr, uint32_t signalSemaphoreCount_=0, const Semaphore *pSignalSemaphores_=nullptr)
Definition: vulkan.hpp:21261
DeviceGeneratedCommandsLimitsNVX & setMaxObjectEntryCounts(uint32_t maxObjectEntryCounts_)
Definition: vulkan.hpp:11771
Definition: vulkan_core.h:6332
uint8_t deviceUUID[VK_UUID_SIZE]
Definition: vulkan.hpp:12172
Definition: vulkan_core.h:562
VkResult vkCreateImageView(VkDevice device, const VkImageViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImageView *pView) const
Definition: vulkan.hpp:1493
PhysicalDeviceFeatures & setIndependentBlend(Bool32 independentBlend_)
Definition: vulkan.hpp:5836
void vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void *pData) const
Definition: vulkan.hpp:1393
Definition: vulkan.hpp:2873
Definition: vulkan_core.h:624
VertexInputBindingDescription & operator=(VkVertexInputBindingDescription const &rhs)
Definition: vulkan.hpp:7911
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties)
void getImageSubresourceLayout(Image image, const ImageSubresource *pSubresource, SubresourceLayout *pLayout, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:5893
Definition: vulkan_core.h:5770
DeviceSize depthPitch
Definition: vulkan.hpp:5420
PFN_vkCmdEndRenderPass vkCmdEndRenderPass
Definition: vulkan.hpp:41885
Definition: vulkan.hpp:35777
PipelineDiscardRectangleStateCreateInfoEXT & operator=(VkPipelineDiscardRectangleStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:28279
uint32_t sgprAllocationGranularity
Definition: vulkan.hpp:15804
LogicError(char const *what)
Definition: vulkan.hpp:637
WriteDescriptorSet(DescriptorSet dstSet_=DescriptorSet(), uint32_t dstBinding_=0, uint32_t dstArrayElement_=0, uint32_t descriptorCount_=0, DescriptorType descriptorType_=DescriptorType::eSampler, const DescriptorImageInfo *pImageInfo_=nullptr, const DescriptorBufferInfo *pBufferInfo_=nullptr, const BufferView *pTexelBufferView_=nullptr)
Definition: vulkan.hpp:8916
VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(VkDevice device, const VkObjectTableCreateInfoNVX *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkObjectTableNVX *pObjectTable)
void setDepthBounds(float minDepthBounds, float maxDepthBounds, Dispatch const &d=Dispatch()) const
VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(VkDevice device, const VkValidationCacheCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkValidationCacheEXT *pValidationCache)
Definition: vulkan_core.h:811
bool operator!=(Device const &rhs) const
Definition: vulkan.hpp:31360
Definition: vulkan_core.h:1062
StructureType sType
Definition: vulkan.hpp:25980
bool operator==(PipelineDepthStencilStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9939
Definition: vulkan_core.h:1366
Definition: vulkan_core.h:2529
CommandBufferResetFlagBits
Definition: vulkan.hpp:21553
PipelineLayoutCreateInfo & setPSetLayouts(const DescriptorSetLayout *pSetLayouts_)
Definition: vulkan.hpp:18441
RenderPassMultiviewCreateInfo & setPCorrelationMasks(const uint32_t *pCorrelationMasks_)
Definition: vulkan.hpp:12825
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo)
Definition: vulkan_core.h:1304
PhysicalDeviceFeatures & setShaderResourceMinLod(Bool32 shaderResourceMinLod_)
Definition: vulkan.hpp:6076
Bool32 shaderUniformTexelBufferArrayDynamicIndexing
Definition: vulkan.hpp:16016
MappedMemoryRange & setMemory(DeviceMemory memory_)
Definition: vulkan.hpp:8866
Definition: vulkan_core.h:2067
bool operator==(SurfaceCapabilities2KHR const &rhs) const
Definition: vulkan.hpp:23698
Flags< PeerMemoryFeatureFlagBits, VkPeerMemoryFeatureFlags > PeerMemoryFeatureFlags
Definition: vulkan.hpp:27586
Bool32 logicOp
Definition: vulkan.hpp:6225
ImageCopy & setDstOffset(Offset3D dstOffset_)
Definition: vulkan.hpp:20185
PhysicalDeviceMultiviewFeatures(Bool32 multiview_=0, Bool32 multiviewGeometryShader_=0, Bool32 multiviewTessellationShader_=0)
Definition: vulkan.hpp:12662
SubmitInfo(VkSubmitInfo const &rhs)
Definition: vulkan.hpp:30961
Definition: vulkan_core.h:1881
Result createSemaphore(const SemaphoreCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Semaphore *pSemaphore, Dispatch const &d=Dispatch()) const
RenderPassCreateInfo & setAttachmentCount(uint32_t attachmentCount_)
Definition: vulkan.hpp:28530
Definition: vulkan_win32.h:203
void vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const
Definition: vulkan.hpp:2241
Definition: vulkan_core.h:234
PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR
Definition: vulkan.hpp:42095
VkResult vkGetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR *pMemoryFdProperties) const
Definition: vulkan.hpp:1925
Flags< FenceCreateFlagBits, VkFenceCreateFlags > FenceCreateFlags
Definition: vulkan.hpp:19139
VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy *pRegions)
bool operator==(PhysicalDeviceSurfaceInfo2KHR const &rhs) const
Definition: vulkan.hpp:14183
LayerNotPresentError(std::string const &message)
Definition: vulkan.hpp:711
Definition: vulkan_core.h:1275
Definition: vulkan.hpp:8677
const void * pNext
Definition: vulkan.hpp:38389
BlendFactor srcColorBlendFactor
Definition: vulkan.hpp:19024
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayPlanePropertiesKHR *pProperties)
Definition: vulkan_core.h:4894
Definition: vulkan_core.h:987
Flags< MemoryPropertyFlagBits, VkMemoryPropertyFlags > MemoryPropertyFlags
Definition: vulkan.hpp:17613
Definition: vulkan_core.h:1218
PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2
Definition: vulkan.hpp:42108
RenderPassMultiviewCreateInfo & setDependencyCount(uint32_t dependencyCount_)
Definition: vulkan.hpp:12807
bool operator==(SemaphoreGetFdInfoKHR const &rhs) const
Definition: vulkan.hpp:26429
ExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan.hpp:25543
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
Definition: glext.h:11836
DeviceCreateInfo & setPQueueCreateInfos(const DeviceQueueCreateInfo *pQueueCreateInfos_)
Definition: vulkan.hpp:17454
#define VK_MAX_MEMORY_HEAPS
Definition: vulkan_core.h:111
SurfaceTransformFlagsKHR supportedTransforms
Definition: vulkan.hpp:23528
void getQueue2(const DeviceQueueInfo2 *pQueueInfo, Queue *pQueue, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:9532
Definition: vulkan_core.h:4740
StructureType sType
Definition: vulkan.hpp:25653
uint32_t maxDescriptorSetUpdateAfterBindStorageImages
Definition: vulkan.hpp:16105
bool operator==(DeviceGroupPresentCapabilitiesKHR const &rhs) const
Definition: vulkan.hpp:27737
PresentRegionsKHR(VkPresentRegionsKHR const &rhs)
Definition: vulkan.hpp:12022
Flags< MemoryAllocateFlagBits, VkMemoryAllocateFlags > MemoryAllocateFlags
Definition: vulkan.hpp:27614
Definition: vulkan_core.h:4566
DeviceCreateInfo & setEnabledLayerCount(uint32_t enabledLayerCount_)
Definition: vulkan.hpp:17460
void vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t *pDynamicOffsets) const
Definition: vulkan.hpp:1165
void vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue) const
Definition: vulkan.hpp:1845
VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties)
ExternalMemoryFeatureFlagBits
Definition: vulkan.hpp:26053
void vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1659
Extent3D(VkExtent3D const &rhs)
Definition: vulkan.hpp:4924
Definition: vulkan_core.h:4243
uint32_t queueLabelCount
Definition: vulkan.hpp:17210
PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR
Definition: vulkan.hpp:42080
Offset2D minDstPosition
Definition: vulkan.hpp:23433
VkEvent m_event
Definition: vulkan.hpp:3739
void setStencilReference(StencilFaceFlags faceMask, uint32_t reference, Dispatch const &d=Dispatch()) const
Bool32 textureCompressionBC
Definition: vulkan.hpp:6239
PhysicalDeviceFeatures(Bool32 robustBufferAccess_=0, Bool32 fullDrawIndexUint32_=0, Bool32 imageCubeArray_=0, Bool32 independentBlend_=0, Bool32 geometryShader_=0, Bool32 tessellationShader_=0, Bool32 sampleRateShading_=0, Bool32 dualSrcBlend_=0, Bool32 logicOp_=0, Bool32 multiDrawIndirect_=0, Bool32 drawIndirectFirstInstance_=0, Bool32 depthClamp_=0, Bool32 depthBiasClamp_=0, Bool32 fillModeNonSolid_=0, Bool32 depthBounds_=0, Bool32 wideLines_=0, Bool32 largePoints_=0, Bool32 alphaToOne_=0, Bool32 multiViewport_=0, Bool32 samplerAnisotropy_=0, Bool32 textureCompressionETC2_=0, Bool32 textureCompressionASTC_LDR_=0, Bool32 textureCompressionBC_=0, Bool32 occlusionQueryPrecise_=0, Bool32 pipelineStatisticsQuery_=0, Bool32 vertexPipelineStoresAndAtomics_=0, Bool32 fragmentStoresAndAtomics_=0, Bool32 shaderTessellationAndGeometryPointSize_=0, Bool32 shaderImageGatherExtended_=0, Bool32 shaderStorageImageExtendedFormats_=0, Bool32 shaderStorageImageMultisample_=0, Bool32 shaderStorageImageReadWithoutFormat_=0, Bool32 shaderStorageImageWriteWithoutFormat_=0, Bool32 shaderUniformBufferArrayDynamicIndexing_=0, Bool32 shaderSampledImageArrayDynamicIndexing_=0, Bool32 shaderStorageBufferArrayDynamicIndexing_=0, Bool32 shaderStorageImageArrayDynamicIndexing_=0, Bool32 shaderClipDistance_=0, Bool32 shaderCullDistance_=0, Bool32 shaderFloat64_=0, Bool32 shaderInt64_=0, Bool32 shaderInt16_=0, Bool32 shaderResourceResidency_=0, Bool32 shaderResourceMinLod_=0, Bool32 sparseBinding_=0, Bool32 sparseResidencyBuffer_=0, Bool32 sparseResidencyImage2D_=0, Bool32 sparseResidencyImage3D_=0, Bool32 sparseResidency2Samples_=0, Bool32 sparseResidency4Samples_=0, Bool32 sparseResidency8Samples_=0, Bool32 sparseResidency16Samples_=0, Bool32 sparseResidencyAliased_=0, Bool32 variableMultisampleRate_=0, Bool32 inheritedQueries_=0)
Definition: vulkan.hpp:5749
void(VKAPI_PTR * PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2776
Definition: vulkan_core.h:1296
SwapchainCreateInfoKHR & setClipped(Bool32 clipped_)
Definition: vulkan.hpp:28036
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities)
VkResult vkRegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT *pDisplayEventInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence) const
Definition: vulkan.hpp:2265
Optional< const AllocationCallbacks > getAllocator() const
Definition: vulkan.hpp:1011
void setSampleLocationsEXT(const SampleLocationsInfoEXT *pSampleLocationsInfo, Dispatch const &d=Dispatch()) const
Bool32 shaderInt64
Definition: vulkan.hpp:6257
void vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const
Definition: vulkan.hpp:1229
Definition: vulkan_core.h:4060
void * pNext
Definition: vulkan.hpp:15395
void(VKAPI_PTR * PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
Definition: vulkan_core.h:2822
PipelineTessellationDomainOriginStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:28729
PipelineStageFlags srcStageMask
Definition: vulkan.hpp:23287
bool operator!=(PipelineRasterizationStateRasterizationOrderAMD const &rhs) const
Definition: vulkan.hpp:24074
const char *const * ppEnabledExtensionNames
Definition: vulkan.hpp:17525
SamplerCreateInfo & setAddressModeW(SamplerAddressMode addressModeW_)
Definition: vulkan.hpp:10125
ShaderModuleValidationCacheCreateInfoEXT & setValidationCache(ValidationCacheEXT validationCache_)
Definition: vulkan.hpp:15308
ResultValueType< UniqueSamplerYcbcrConversion >::type createSamplerYcbcrConversionUnique(const SamplerYcbcrConversionCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
bool operator!=(SparseImageFormatProperties const &rhs) const
Definition: vulkan.hpp:20789
StructureType sType
Definition: vulkan.hpp:14806
VertexInputBindingDivisorDescriptionEXT(VkVertexInputBindingDivisorDescriptionEXT const &rhs)
Definition: vulkan.hpp:7080
MemoryAllocateFlagsInfo & setDeviceMask(uint32_t deviceMask_)
Definition: vulkan.hpp:27666
Definition: vulkan_core.h:462
uint32_t attachmentCount
Definition: vulkan.hpp:19128
Definition: vulkan_core.h:3881
const void * pNext
Definition: vulkan.hpp:17518
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
void getFormatProperties2(Format format, FormatProperties2 *pFormatProperties, Dispatch const &d=Dispatch()) const
DeviceSize range
Definition: vulkan.hpp:5391
VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
StencilOp failOp
Definition: vulkan.hpp:7838
void(VKAPI_PTR * PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t *pDynamicOffsets)
Definition: vulkan_core.h:2824
bool operator!=(BindBufferMemoryInfo const &rhs) const
Definition: vulkan.hpp:12926
uint32_t compareMask
Definition: vulkan.hpp:7842
DedicatedAllocationBufferCreateInfoNV & operator=(VkDedicatedAllocationBufferCreateInfoNV const &rhs)
Definition: vulkan.hpp:11399
bool operator!=(PipelineDepthStencilStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9955
bool operator!=(ValidationCacheEXT const &rhs) const
Definition: vulkan.hpp:4318
void(VKAPI_PTR * PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures)
Definition: vulkan_core.h:5079
Definition: vulkan_core.h:2288
Definition: vulkan_core.h:1009
PipelineCreateFlags flags
Definition: vulkan.hpp:22089
VkResult vkCreateFence(VkDevice device, const VkFenceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence) const
Definition: vulkan.hpp:1471
Result getMemoryFdPropertiesKHR(ExternalMemoryHandleTypeFlagBits handleType, int fd, MemoryFdPropertiesKHR *pMemoryFdProperties, Dispatch const &d=Dispatch()) const
uint32_t maxTessellationEvaluationInputComponents
Definition: vulkan.hpp:22271
void getImageMemoryRequirements(Image image, MemoryRequirements *pMemoryRequirements, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1308
const DescriptorSetLayout * pSetLayouts
Definition: vulkan.hpp:18487
Definition: vulkan_core.h:570
ObjectTableDescriptorSetEntryNVX & operator=(VkObjectTableDescriptorSetEntryNVX const &rhs)
Definition: vulkan.hpp:25022
bool operator==(ImageResolve const &rhs) const
Definition: vulkan.hpp:20436
Definition: vulkan_core.h:6842
PFN_vkResetEvent vkResetEvent
Definition: vulkan.hpp:42174
ObjectEntryTypeNVX
Definition: vulkan.hpp:24760
DisplayPlaneAlphaFlagBitsKHR alphaMode
Definition: vulkan.hpp:23647
PipelineTessellationDomainOriginStateCreateInfo(VkPipelineTessellationDomainOriginStateCreateInfo const &rhs)
Definition: vulkan.hpp:28719
bool operator==(ExportMemoryAllocateInfo const &rhs) const
Definition: vulkan.hpp:25697
PipelineViewportStateCreateInfo & setPViewports(const Viewport *pViewports_)
Definition: vulkan.hpp:9645
uint32_t queueCreateInfoCount
Definition: vulkan.hpp:17520
uint32_t offset
Definition: vulkan.hpp:8287
ColorSpaceKHR
Definition: vulkan.hpp:23305
void destroy(T t)
Definition: vulkan.hpp:1039
Definition: vulkan.hpp:4351
Definition: vulkan_core.h:6313
XYColorEXT & setY(float y_)
Definition: vulkan.hpp:6743
DescriptorSetLayoutCreateInfo & setBindingCount(uint32_t bindingCount_)
Definition: vulkan.hpp:25331
PipelineColorBlendAttachmentState & setBlendEnable(Bool32 blendEnable_)
Definition: vulkan.hpp:18953
bool operator==(PipelineViewportStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9668
Definition: vulkan.hpp:2672
PFN_vkCreateObjectTableNVX vkCreateObjectTableNVX
Definition: vulkan.hpp:41951
Definition: vulkan_core.h:5637
VkResult(VKAPI_PTR * PFN_vkCreateMacOSSurfaceMVK)(VkInstance instance, const VkMacOSSurfaceCreateInfoMVK *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_macos.h:44
VkResult(VKAPI_PTR * PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_android.h:46
ImageSparseMemoryRequirementsInfo2 & setPNext(const void *pNext_)
Definition: vulkan.hpp:14419
VkDescriptorSet m_descriptorSet
Definition: vulkan.hpp:3404
Definition: vulkan_core.h:916
bool operator==(Image const &rhs) const
Definition: vulkan.hpp:2969
DescriptorPoolCreateInfo & operator=(VkDescriptorPoolCreateInfo const &rhs)
Definition: vulkan.hpp:23103
Definition: vulkan_core.h:1237
Definition: vulkan_core.h:152
void vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1719
BindSparseInfo & setPSignalSemaphores(const Semaphore *pSignalSemaphores_)
Definition: vulkan.hpp:21345
SubgroupFeatureFlags supportedOperations
Definition: vulkan.hpp:24478
DescriptorPoolCreateFlagBits
Definition: vulkan.hpp:23062
Definition: vulkan.hpp:18342
const void * pNext
Definition: vulkan.hpp:13159
VULKAN_HPP_TYPESAFE_EXPLICIT PhysicalDevice(VkPhysicalDevice physicalDevice)
Definition: vulkan.hpp:35788
PresentModeKHR presentMode
Definition: vulkan.hpp:28098
ImageFormatProperties imageFormatProperties
Definition: vulkan.hpp:24339
Definition: vulkan_core.h:3770
PhysicalDeviceFeatures2 & setFeatures(PhysicalDeviceFeatures features_)
Definition: vulkan.hpp:11925
PipelineViewportStateCreateFlags flags
Definition: vulkan.hpp:9689
VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t *pDataSize, void *pData)
StructureType sType
Definition: vulkan.hpp:16982
IndirectCommandsLayoutTokenNVX & setTokenType(IndirectCommandsTokenTypeNVX tokenType_)
Definition: vulkan.hpp:24629
ComputePipelineCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:18831
void(VKAPI_PTR * PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
Definition: vulkan_core.h:2825
Definition: vulkan_core.h:2499
void vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const
Definition: vulkan.hpp:1285
MaskType m_mask
Definition: vulkan.hpp:213
StructureType sType
Definition: vulkan.hpp:26800
MemoryDedicatedAllocateInfo & operator=(VkMemoryDedicatedAllocateInfo const &rhs)
Definition: vulkan.hpp:14534
ComponentSwizzle g
Definition: vulkan.hpp:7370
VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities) const
Definition: vulkan.hpp:2101
DeviceGroupSubmitInfo & setCommandBufferCount(uint32_t commandBufferCount_)
Definition: vulkan.hpp:13341
VkFlags VkPipelineStageFlags
Definition: vulkan_core.h:1360
void(VKAPI_PTR * PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory)
Definition: vulkan_core.h:2745
Definition: vulkan_core.h:1041
VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX *pReserveSpaceInfo)
bool operator!=(PipelineTessellationDomainOriginStateCreateInfo const &rhs) const
Definition: vulkan.hpp:28753
PhysicalDeviceProtectedMemoryProperties & operator=(VkPhysicalDeviceProtectedMemoryProperties const &rhs)
Definition: vulkan.hpp:14881
DeviceSize imageMipTailOffset
Definition: vulkan.hpp:20824
Flags< QueryResultFlagBits, VkQueryResultFlags > QueryResultFlags
Definition: vulkan.hpp:19359
ObjectTableEntryNVX(ObjectEntryTypeNVX type_=ObjectEntryTypeNVX::eDescriptorSet, ObjectEntryUsageFlagsNVX flags_=ObjectEntryUsageFlagsNVX())
Definition: vulkan.hpp:24898
ImageUsageFlags usage
Definition: vulkan.hpp:21793
Definition: vulkan_core.h:898
float color[4]
Definition: vulkan.hpp:11328
uint32_t subPixelInterpolationOffsetBits
Definition: vulkan.hpp:22307
Definition: vulkan_core.h:1193
GLboolean GLboolean g
Definition: glext.h:6844
MemoryGetFdInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:25943
bool operator==(IndirectCommandsLayoutNVX const &rhs) const
Definition: vulkan.hpp:4108
bool operator==(SwapchainCounterCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:27371
GraphicsPipelineCreateInfo & setPColorBlendState(const PipelineColorBlendStateCreateInfo *pColorBlendState_)
Definition: vulkan.hpp:22009
Bool32 uniformAndStorageBuffer16BitAccess
Definition: vulkan.hpp:14280
AllocationCallbacks & setPfnInternalFree(PFN_vkInternalFreeNotification pfnInternalFree_)
Definition: vulkan.hpp:5275
Definition: vulkan_win32.h:159
DeviceEventInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:27476
IndirectCommandsTokenNVX & setOffset(DeviceSize offset_)
Definition: vulkan.hpp:24580
Definition: vulkan_core.h:1124
VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(VkDevice device, const VkEventCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkEvent *pEvent)
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorSetLayout *pSetLayout)
DescriptorSetLayoutCreateFlags flags
Definition: vulkan.hpp:25367
bool operator==(DedicatedAllocationImageCreateInfoNV const &rhs) const
Definition: vulkan.hpp:11366
VkResult(VKAPI_PTR * PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkObjectTableNVX *pObjectTable)
Definition: vulkan_core.h:6351
Definition: vulkan.hpp:24352
BindImageMemoryInfo(VkBindImageMemoryInfo const &rhs)
Definition: vulkan.hpp:13019
VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties) const
Definition: vulkan.hpp:1979
DebugUtilsMessengerCreateInfoEXT & setPfnUserCallback(PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_)
Definition: vulkan.hpp:29317
PipelineLayout pipelineLayout
Definition: vulkan.hpp:16869
const void * pNext
Definition: vulkan.hpp:14338
const void * pNext
Definition: vulkan.hpp:28699
Definition: vulkan_core.h:1555
VkResult(VKAPI_PTR * PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo, const VkAllocationCallbacks *pAllocator, VkDeviceMemory *pMemory)
Definition: vulkan_core.h:2742
PhysicalDeviceSamplerYcbcrConversionFeatures & setSamplerYcbcrConversion(Bool32 samplerYcbcrConversion_)
Definition: vulkan.hpp:14667
ArrayProxy(std::vector< typename std::remove_const< T >::type, Allocator > const &data)
Definition: vulkan.hpp:290
Definition: vulkan_core.h:206
VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData)
bool operator!=(RefreshCycleDurationGOOGLE const &rhs) const
Definition: vulkan.hpp:6803
ImageTiling tiling
Definition: vulkan.hpp:18771
Definition: vulkan_core.h:4716
Definition: vulkan_core.h:669
ImageBlit & setSrcOffsets(std::array< Offset3D, 2 > srcOffsets_)
Definition: vulkan.hpp:20250
GraphicsPipelineCreateInfo & setPViewportState(const PipelineViewportStateCreateInfo *pViewportState_)
Definition: vulkan.hpp:21985
PresentModeKHR
Definition: vulkan.hpp:23295
bool operator!=(ViewportWScalingNV const &rhs) const
Definition: vulkan.hpp:6982
GLuint color
Definition: glext.h:6883
Result registerDisplayEventEXT(DisplayKHR display, const DisplayEventInfoEXT *pDisplayEventInfo, const AllocationCallbacks *pAllocator, Fence *pFence, Dispatch const &d=Dispatch()) const
PipelineCoverageToColorStateCreateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:14943
Definition: vulkan_core.h:4215
PhysicalDeviceMemoryProperties memoryProperties
Definition: vulkan.hpp:17757
const BufferView * pTexelBufferView
Definition: vulkan.hpp:9028
uint32_t swapchainCount
Definition: vulkan.hpp:27827
DebugUtilsLabelEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:15475
HdrMetadataEXT & setDisplayPrimaryBlue(XYColorEXT displayPrimaryBlue_)
Definition: vulkan.hpp:13721
VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(VkDevice device, VkValidationCacheEXT validationCache, size_t *pDataSize, void *pData)
StructureType sType
Definition: vulkan.hpp:16859
Definition: vulkan_core.h:3721
PhysicalDeviceConservativeRasterizationPropertiesEXT & setDegenerateLinesRasterized(Bool32 degenerateLinesRasterized_)
Definition: vulkan.hpp:15698
Definition: vulkan_core.h:7347
bool operator==(ImageSparseMemoryRequirementsInfo2 const &rhs) const
Definition: vulkan.hpp:14436
RectLayerKHR & operator=(VkRectLayerKHR const &rhs)
Definition: vulkan.hpp:6622
ImageViewCreateInfo & operator=(VkImageViewCreateInfo const &rhs)
Definition: vulkan.hpp:20063
BindImageMemoryInfo & setMemoryOffset(DeviceSize memoryOffset_)
Definition: vulkan.hpp:13047
uint32_t patchControlPoints
Definition: vulkan.hpp:9602
Type & get()
Definition: vulkan.hpp:409
Definition: vulkan_core.h:4038
ResultValueType< UniqueBuffer >::type createBufferUnique(const BufferCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
bool operator==(DisplayKHR const &rhs) const
Definition: vulkan.hpp:4380
uint32_t subTexelPrecisionBits
Definition: vulkan.hpp:22287
void getMemoryProperties(PhysicalDeviceMemoryProperties *pMemoryProperties, Dispatch const &d=Dispatch()) const
VkResult(VKAPI_PTR * PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties)
Definition: vulkan_core.h:5136
PhysicalDeviceVertexAttributeDivisorPropertiesEXT(uint32_t maxVertexAttribDivisor_=0)
Definition: vulkan.hpp:16268
Definition: vulkan_core.h:2705
PipelineColorBlendStateCreateInfo & setFlags(PipelineColorBlendStateCreateFlags flags_)
Definition: vulkan.hpp:19062
PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate
Definition: vulkan.hpp:41929
ResultValueType< std::vector< UniqueCommandBuffer, Allocator > >::type allocateCommandBuffersUnique(const CommandBufferAllocateInfo &allocateInfo, Dispatch const &d=Dispatch()) const
PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR
Definition: vulkan.hpp:41853
Result importSemaphoreFdKHR(const ImportSemaphoreFdInfoKHR *pImportSemaphoreFdInfo, Dispatch const &d=Dispatch()) const
PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR
Definition: vulkan.hpp:42044
uint32_t maxTexelOffset
Definition: vulkan.hpp:22302
Bool32 shaderUniformBufferArrayDynamicIndexing
Definition: vulkan.hpp:6250
VkObjectEntryTypeNVX
Definition: vulkan_core.h:6204
VULKAN_HPP_CONSTEXPR Framebuffer()
Definition: vulkan.hpp:3814
VertexInputRate inputRate
Definition: vulkan.hpp:7953
void vkUnmapMemory(VkDevice device, VkDeviceMemory memory) const
Definition: vulkan.hpp:2325
ValidationCacheCreateInfoEXT & setPInitialData(const void *pInitialData_)
Definition: vulkan.hpp:15249
Definition: vulkan.hpp:10314
Definition: vulkan_core.h:138
SamplerYcbcrConversion & operator=(std::nullptr_t)
Definition: vulkan.hpp:4238
SamplerYcbcrConversionCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:28823
BindBufferMemoryDeviceGroupInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:12962
DebugUtilsObjectTagInfoEXT & setPTag(const void *pTag_)
Definition: vulkan.hpp:17043
VkDisplayKHR m_displayKHR
Definition: vulkan.hpp:4413
InitializationFailedError(std::string const &message)
Definition: vulkan.hpp:687
DeviceQueueGlobalPriorityCreateInfoEXT(VkDeviceQueueGlobalPriorityCreateInfoEXT const &rhs)
Definition: vulkan.hpp:29169
bool operator!=(ImageSwapchainCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:13510
bool operator==(PipelineRasterizationStateRasterizationOrderAMD const &rhs) const
Definition: vulkan.hpp:24067
const Rect2D * pDeviceRenderAreas
Definition: vulkan.hpp:13238
VKAPI_ATTR void VKAPI_CALL vkDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks *pAllocator)
Result createSampler(const SamplerCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Sampler *pSampler, Dispatch const &d=Dispatch()) const
VkResult(VKAPI_PTR * PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, VkDeviceSize stride, VkQueryResultFlags flags)
Definition: vulkan_core.h:2770
DescriptorSetAllocateInfo(DescriptorPool descriptorPool_=DescriptorPool(), uint32_t descriptorSetCount_=0, const DescriptorSetLayout *pSetLayouts_=nullptr)
Definition: vulkan.hpp:9307
uint32_t implementationVersion
Definition: vulkan.hpp:5218
VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy *pRegions)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: glext.h:6293
const void * pNext
Definition: vulkan.hpp:22519
PFN_vkDebugReportCallbackEXT pfnCallback
Definition: vulkan.hpp:23816
Definition: vulkan_core.h:565
bool operator!() const
Definition: vulkan.hpp:2929
ObjectTablePushConstantEntryNVX & setType(ObjectEntryTypeNVX type_)
Definition: vulkan.hpp:25225
Definition: vulkan_core.h:6286
Flags< ExternalMemoryFeatureFlagBits, VkExternalMemoryFeatureFlags > ExternalMemoryFeatureFlags
Definition: vulkan.hpp:26063
PipelineViewportSwizzleStateCreateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:28204
uint32_t descriptorCount
Definition: vulkan.hpp:7522
bool operator==(DescriptorSetAllocateInfo const &rhs) const
Definition: vulkan.hpp:9353
const AttachmentReference * pInputAttachments
Definition: vulkan.hpp:28485
ObjectTableCreateInfoNVX(uint32_t objectCount_=0, const ObjectEntryTypeNVX *pObjectEntryTypes_=nullptr, const uint32_t *pObjectEntryCounts_=nullptr, const ObjectEntryUsageFlagsNVX *pObjectEntryUsageFlags_=nullptr, uint32_t maxUniformBuffersPerDescriptor_=0, uint32_t maxStorageBuffersPerDescriptor_=0, uint32_t maxStorageImagesPerDescriptor_=0, uint32_t maxSampledImagesPerDescriptor_=0, uint32_t maxPipelineLayouts_=0)
Definition: vulkan.hpp:24771
Definition: vulkan_core.h:658
ImageViewUsageCreateInfo(VkImageViewUsageCreateInfo const &rhs)
Definition: vulkan.hpp:18593
Definition: vulkan_core.h:5533
DescriptorUpdateTemplateEntry & setDstArrayElement(uint32_t dstArrayElement_)
Definition: vulkan.hpp:7470
ImageView imageView
Definition: vulkan.hpp:7197
Definition: vulkan_core.h:1351
Definition: Filter.h:16
SampleCountFlagBits samples
Definition: vulkan.hpp:21791
SwapchainCreateInfoKHR & setImageFormat(Format imageFormat_)
Definition: vulkan.hpp:27970
VertexInputBindingDivisorDescriptionEXT & setBinding(uint32_t binding_)
Definition: vulkan.hpp:7090
bool operator==(PipelineRasterizationStateCreateInfo const &rhs) const
Definition: vulkan.hpp:9801
Definition: vulkan_core.h:572
PhysicalDeviceFeatures & setSampleRateShading(Bool32 sampleRateShading_)
Definition: vulkan.hpp:5854
Definition: vulkan_core.h:5788
ImageMemoryBarrier & setNewLayout(ImageLayout newLayout_)
Definition: vulkan.hpp:19976
Flags< PipelineRasterizationConservativeStateCreateFlagBitsEXT, VkPipelineRasterizationConservativeStateCreateFlagsEXT > PipelineRasterizationConservativeStateCreateFlagsEXT
Definition: vulkan.hpp:2670
Definition: vulkan_core.h:578
Definition: vulkan_core.h:7150
uint32_t signalSemaphoreCount
Definition: vulkan.hpp:13396
ImageUsageFlags imageUsage
Definition: vulkan.hpp:28092
Definition: vulkan_core.h:629
bool operator!=(ImageSubresourceRange const &rhs) const
Definition: vulkan.hpp:19915
uint32_t memoryDeviceIndex
Definition: vulkan.hpp:13463
ClearDepthStencilValue(float depth_=0, uint32_t stencil_=0)
Definition: vulkan.hpp:5660
ImageResolve & setExtent(Extent3D extent_)
Definition: vulkan.hpp:20425
ImageAspectFlagBits planeAspect
Definition: vulkan.hpp:20685
bool operator<(PipelineLayout const &rhs) const
Definition: vulkan.hpp:3247
Definition: vulkan.hpp:16560
ExportSemaphoreCreateInfo & setHandleTypes(ExternalSemaphoreHandleTypeFlags handleTypes_)
Definition: vulkan.hpp:26288
ArrayProxy(uint32_t count, T *ptr)
Definition: vulkan.hpp:266
DeviceSize sparseAddressSpaceSize
Definition: vulkan.hpp:22243
PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect
Definition: vulkan.hpp:41876
void vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements *pMemoryRequirements) const
Definition: vulkan.hpp:1883
ShaderStageFlags shaderStageMask
Definition: vulkan.hpp:18516
Definition: vulkan.hpp:461
Definition: vulkan.hpp:14759
VkResult vkDebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo) const
Definition: vulkan.hpp:1603
PFN_vkAllocateMemory vkAllocateMemory
Definition: vulkan.hpp:41846
DeviceGroupPresentInfoKHR & setPDeviceMasks(const uint32_t *pDeviceMasks_)
Definition: vulkan.hpp:27791
const SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds
Definition: vulkan.hpp:21387
Definition: vulkan_core.h:999
Definition: vulkan_core.h:1225
VKAPI_ATTR void VKAPI_CALL vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks *pAllocator)
Result getFenceStatus(Fence fence, Dispatch const &d=Dispatch()) const
DebugUtilsMessageSeverityFlagBitsEXT
Definition: vulkan.hpp:29217
Definition: vulkan_core.h:5742
Definition: vulkan_core.h:1178
uint32_t vgprAllocationGranularity
Definition: vulkan.hpp:15808
ComponentMapping & setB(ComponentSwizzle b_)
Definition: vulkan.hpp:7339
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: glext.h:7672
Definition: vulkan_core.h:836
DeviceEventTypeEXT deviceEvent
Definition: vulkan.hpp:27510
PipelineShaderStageCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:18272
QueryResultFlagBits
Definition: vulkan.hpp:19351
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX *pFeatures, VkDeviceGeneratedCommandsLimitsNVX *pLimits)
Definition: vulkan_core.h:6355
Definition: vulkan_win32.h:132
Definition: vulkan_core.h:1072
PhysicalDevicePushDescriptorPropertiesKHR & setMaxPushDescriptors(uint32_t maxPushDescriptors_)
Definition: vulkan.hpp:11982
uint32_t width
Definition: vulkan.hpp:4969
VkResult(VKAPI_PTR * PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer)
Definition: vulkan_core.h:2812
bool operator<(Queue const &rhs) const
Definition: vulkan.hpp:31096
DependencyFlags dependencyFlags
Definition: vulkan.hpp:23291
uint32_t attachmentIndex
Definition: vulkan.hpp:22658
Definition: vulkan_core.h:1443
ObjectEntryTypeNVX type
Definition: vulkan.hpp:25069
bool operator!=(SurfaceCapabilities2EXT const &rhs) const
Definition: vulkan.hpp:27313
BindSparseInfo & setPBufferBinds(const SparseBufferMemoryBindInfo *pBufferBinds_)
Definition: vulkan.hpp:21309
DeviceSize offset
Definition: vulkan.hpp:5390
PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR
Definition: vulkan.hpp:41930
DescriptorUpdateTemplateEntry & setDescriptorType(DescriptorType descriptorType_)
Definition: vulkan.hpp:7482
bool operator!=(DeviceCreateInfo const &rhs) const
Definition: vulkan.hpp:17509
VkResult(VKAPI_PTR * PFN_vkDeviceWaitIdle)(VkDevice device)
Definition: vulkan_core.h:2741
Definition: vulkan_core.h:1255
Definition: vulkan_core.h:639
Definition: vulkan_core.h:1543
void writeTimestamp(PipelineStageFlagBits pipelineStage, QueryPool queryPool, uint32_t query, Dispatch const &d=Dispatch()) const
DescriptorPoolCreateInfo(DescriptorPoolCreateFlags flags_=DescriptorPoolCreateFlags(), uint32_t maxSets_=0, uint32_t poolSizeCount_=0, const DescriptorPoolSize *pPoolSizes_=nullptr)
Definition: vulkan.hpp:23090
bool operator!=(PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15129
const void * pNext
Definition: vulkan.hpp:28905
DeviceGroupDeviceCreateInfo(VkDeviceGroupDeviceCreateInfo const &rhs)
Definition: vulkan.hpp:38339
Bool32 multiViewport
Definition: vulkan.hpp:6235
ObjectEntryTypeNVX type
Definition: vulkan.hpp:25267
VkFlags VkQueryResultFlags
Definition: vulkan_core.h:1424
PhysicalDeviceSparseImageFormatInfo2(Format format_=Format::eUndefined, ImageType type_=ImageType::e1D, SampleCountFlagBits samples_=SampleCountFlagBits::e1, ImageUsageFlags usage_=ImageUsageFlags(), ImageTiling tiling_=ImageTiling::eOptimal)
Definition: vulkan.hpp:22439
VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(VkQueue queue)
Definition: vulkan_core.h:547
Definition: vulkan.hpp:6941
PipelineStageFlags dstStageMask
Definition: vulkan.hpp:23288
VkResult(VKAPI_PTR * PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines)
Definition: vulkan_core.h:2786
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties)
Definition: vulkan_core.h:5172
ObjectDestroy(OwnerType owner=OwnerType(), Optional< const AllocationCallbacks > allocator=nullptr)
Definition: vulkan.hpp:1005
DeviceEventInfoEXT & operator=(VkDeviceEventInfoEXT const &rhs)
Definition: vulkan.hpp:27471
const void * pNext
Definition: vulkan.hpp:20684
DescriptorPoolCreateInfo & setFlags(DescriptorPoolCreateFlags flags_)
Definition: vulkan.hpp:23114
const void * pNext
Definition: vulkan.hpp:11733
Definition: vulkan_core.h:501
bool operator==(SparseImageMemoryBind const &rhs) const
Definition: vulkan.hpp:21055
Definition: vulkan_core.h:1197
Definition: vulkan.hpp:5196
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties)
Definition: vulkan_core.h:5012
bool operator!=(DeviceGroupPresentCapabilitiesKHR const &rhs) const
Definition: vulkan.hpp:27745
BindImageMemoryDeviceGroupInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:13105
const char * pMessage
Definition: vulkan.hpp:17209
SamplerCreateInfo & setMaxLod(float maxLod_)
Definition: vulkan.hpp:10167
Extent2D physicalResolution
Definition: vulkan.hpp:23527
void vkGetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements) const
Definition: vulkan.hpp:1891
const void * pNext
Definition: vulkan.hpp:8767
VULKAN_HPP_TYPESAFE_EXPLICIT ObjectTableNVX(VkObjectTableNVX objectTableNVX)
Definition: vulkan.hpp:4023
bool operator!=(ApplicationInfo const &rhs) const
Definition: vulkan.hpp:8659
void vkDestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1711
void copyImageToBuffer(Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, uint32_t regionCount, const BufferImageCopy *pRegions, Dispatch const &d=Dispatch()) const
Definition: vulkan.hpp:3610
CommandBufferInheritanceInfo & setOcclusionQueryEnable(Bool32 occlusionQueryEnable_)
Definition: vulkan.hpp:19487
ImageFormatListCreateInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:15166
void getDescriptorSetLayoutSupportKHR(const DescriptorSetLayoutCreateInfo *pCreateInfo, DescriptorSetLayoutSupport *pSupport, Dispatch const &d=Dispatch()) const
bool operator==(BindBufferMemoryDeviceGroupInfo const &rhs) const
Definition: vulkan.hpp:12985
void * pNext
Definition: vulkan.hpp:17756
StructureType sType
Definition: vulkan.hpp:14987
GLint GLint GLsizei width
Definition: glext.h:6293
DebugUtilsMessengerCreateInfoEXT & setPUserData(void *pUserData_)
Definition: vulkan.hpp:29323
StructureType sType
Definition: vulkan.hpp:27049
BufferMemoryRequirementsInfo2 & setPNext(const void *pNext_)
Definition: vulkan.hpp:14305
void(VKAPI_PTR * PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
Definition: vulkan_core.h:4374
Definition: vulkan_core.h:7346
SpecializationMapEntry & setConstantID(uint32_t constantID_)
Definition: vulkan.hpp:5503
ComputePipelineCreateInfo & operator=(VkComputePipelineCreateInfo const &rhs)
Definition: vulkan.hpp:18826
Bool32 storageInputOutput16
Definition: vulkan.hpp:14282
PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets
Definition: vulkan.hpp:42187
void getExternalSemaphoreProperties(const PhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo, ExternalSemaphoreProperties *pExternalSemaphoreProperties, Dispatch const &d=Dispatch()) const
uint32_t VkBool32
Definition: vulkan_core.h:69
FenceGetFdInfoKHR & setFence(Fence fence_)
Definition: vulkan.hpp:26957
DisplayPowerInfoEXT(DisplayPowerStateEXT powerState_=DisplayPowerStateEXT::eOff)
Definition: vulkan.hpp:27401
bool operator!=(SparseImageMemoryRequirements2 const &rhs) const
Definition: vulkan.hpp:20873
Definition: vulkan_core.h:859
bool operator!=(DebugUtilsMessengerCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29345
uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages
Definition: vulkan.hpp:16096
CmdProcessCommandsInfoNVX & setMaxSequencesCount(uint32_t maxSequencesCount_)
Definition: vulkan.hpp:37349
VkResult vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence) const
Definition: vulkan.hpp:2253
VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks *pAllocator)
uint32_t subpassCount
Definition: vulkan.hpp:28597
DebugReportCallbackEXT & operator=(std::nullptr_t)
Definition: vulkan.hpp:4642
void dispatchBase(uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d=Dispatch()) const
uint32_t maxSequencesCount
Definition: vulkan.hpp:37420
bool operator!=(SamplerYcbcrConversionCreateInfo const &rhs) const
Definition: vulkan.hpp:28896
uint32_t numAvailableSgprs
Definition: vulkan.hpp:18521
HdrMetadataEXT & setMaxFrameAverageLightLevel(float maxFrameAverageLightLevel_)
Definition: vulkan.hpp:13751
Result createSamplerYcbcrConversionKHR(const SamplerYcbcrConversionCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, SamplerYcbcrConversion *pYcbcrConversion, Dispatch const &d=Dispatch()) const
InitializationFailedError(char const *message)
Definition: vulkan.hpp:689
uint32_t inputAttachmentIndex
Definition: vulkan.hpp:20561
StructureType sType
Definition: vulkan.hpp:12006
bool operator!=(MemoryDedicatedRequirements const &rhs) const
Definition: vulkan.hpp:14504
StencilOpState & setPassOp(StencilOp passOp_)
Definition: vulkan.hpp:7781
VkResult vkBindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos) const
Definition: vulkan.hpp:1133
ImportMemoryHostPointerInfoEXT & operator=(VkImportMemoryHostPointerInfoEXT const &rhs)
Definition: vulkan.hpp:26002
VkResult(VKAPI_PTR * PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR *pGetFdInfo, int *pFd)
Definition: vulkan_core.h:5219
PFN_vkDestroyBufferView vkDestroyBufferView
Definition: vulkan.hpp:41983
PipelineCacheCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9997
BufferMemoryBarrier & setDstAccessMask(AccessFlags dstAccessMask_)
Definition: vulkan.hpp:17906
Definition: vulkan_core.h:6690
VkResult vkEnumerateInstanceVersion(uint32_t *pApiVersion) const
Definition: vulkan.hpp:1763
SemaphoreCreateFlagBits
Definition: vulkan.hpp:2476
PhysicalDeviceVariablePointerFeatures & setVariablePointersStorageBuffer(Bool32 variablePointersStorageBuffer_)
Definition: vulkan.hpp:12102
VkResult vkEnumerateInstanceLayerProperties(uint32_t *pPropertyCount, VkLayerProperties *pProperties) const
Definition: vulkan.hpp:1759
DeviceGroupCommandBufferBeginInfo & operator=(VkDeviceGroupCommandBufferBeginInfo const &rhs)
Definition: vulkan.hpp:13256
DeviceSize offset
Definition: vulkan.hpp:17975
bool operator!=(SpecializationInfo const &rhs) const
Definition: vulkan.hpp:5601
void *(VKAPI_PTR * PFN_vkAllocationFunction)(void *pUserData, size_t size, size_t alignment, VkSystemAllocationScope allocationScope)
Definition: vulkan_core.h:1636
Offset2D minSrcPosition
Definition: vulkan.hpp:23429
Result resetFences(uint32_t fenceCount, const Fence *pFences, Dispatch const &d=Dispatch()) const
ImageMemoryBarrier & setSrcAccessMask(AccessFlags srcAccessMask_)
Definition: vulkan.hpp:19958
DescriptorBufferInfo & setRange(DeviceSize range_)
Definition: vulkan.hpp:5366
void vkGetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements) const
Definition: vulkan.hpp:1903
PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements
Definition: vulkan.hpp:42053
PFN_vkDestroyIndirectCommandsLayoutNVX vkDestroyIndirectCommandsLayoutNVX
Definition: vulkan.hpp:41997
DescriptorSetLayoutBinding & setDescriptorCount(uint32_t descriptorCount_)
Definition: vulkan.hpp:18206
DebugMarkerMarkerInfoEXT & setPMarkerName(const char *pMarkerName_)
Definition: vulkan.hpp:11292
Flags< CommandPoolTrimFlagBits, VkCommandPoolTrimFlags > CommandPoolTrimFlags
Definition: vulkan.hpp:2620
Extent2D(uint32_t width_=0, uint32_t height_=0)
Definition: vulkan.hpp:4866
ImageViewCreateFlags flags
Definition: vulkan.hpp:20137
BindImageMemoryDeviceGroupInfo & setSplitInstanceBindRegionCount(uint32_t splitInstanceBindRegionCount_)
Definition: vulkan.hpp:13123
Flags< PipelineInputAssemblyStateCreateFlagBits, VkPipelineInputAssemblyStateCreateFlags > PipelineInputAssemblyStateCreateFlags
Definition: vulkan.hpp:2438
Flags< DeviceCreateFlagBits, VkDeviceCreateFlags > DeviceCreateFlags
Definition: vulkan.hpp:2468
Definition: vulkan_core.h:1191
BindBufferMemoryInfo & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:12894
BindBufferMemoryDeviceGroupInfo(uint32_t deviceIndexCount_=0, const uint32_t *pDeviceIndices_=nullptr)
Definition: vulkan.hpp:12946
DebugMarkerObjectTagInfoEXT & setObjectType(DebugReportObjectTypeEXT objectType_)
Definition: vulkan.hpp:23963
WriteDescriptorSet & setPBufferInfo(const DescriptorBufferInfo *pBufferInfo_)
Definition: vulkan.hpp:8980
RenderPass & operator=(std::nullptr_t)
Definition: vulkan.hpp:3901
void(VKAPI_PTR * PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:4379
Offset3D & setY(int32_t y_)
Definition: vulkan.hpp:4829
Definition: vulkan_core.h:3779
Definition: vulkan_core.h:1279
void(VKAPI_PTR * PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
Definition: vulkan_core.h:5612
uint64_t timeout
Definition: vulkan.hpp:13672
virtual const char * name() const noexcept override
Definition: vulkan.hpp:596
Definition: vulkan_core.h:1205
PresentInfoKHR & setWaitSemaphoreCount(uint32_t waitSemaphoreCount_)
Definition: vulkan.hpp:16588
bool operator==(PipelineColorBlendAttachmentState const &rhs) const
Definition: vulkan.hpp:19006
SwapchainKHR swapchain
Definition: vulkan.hpp:13520
Bool32 sparseResidencyImage3D
Definition: vulkan.hpp:6264
bool operator==(PipelineRasterizationConservativeStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29418
Definition: vulkan.hpp:348
VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
Result enumeratePhysicalDeviceGroups(uint32_t *pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties, Dispatch const &d=Dispatch()) const
bool operator==(SamplerReductionModeCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:28683
Definition: vulkan_core.h:1217
VkResult(VKAPI_PTR * PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkIndirectCommandsLayoutNVX *pIndirectCommandsLayout)
Definition: vulkan_core.h:6349
PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR
Definition: vulkan.hpp:42152
DescriptorPoolCreateInfo(VkDescriptorPoolCreateInfo const &rhs)
Definition: vulkan.hpp:23098
VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT *pSrcCaches)
DescriptorUpdateTemplateCreateInfo & setSet(uint32_t set_)
Definition: vulkan.hpp:16828
VULKAN_HPP_TYPESAFE_EXPLICIT Device(VkDevice device)
Definition: vulkan.hpp:31337
PipelineViewportSwizzleStateCreateFlagsNV flags
Definition: vulkan.hpp:28252
Definition: vulkan_core.h:1151
PFN_vkMergePipelineCaches vkMergePipelineCaches
Definition: vulkan.hpp:42158
ObjectTableCreateInfoNVX & setMaxSampledImagesPerDescriptor(uint32_t maxSampledImagesPerDescriptor_)
Definition: vulkan.hpp:24842
DebugUtilsLabelEXT(const char *pLabelName_=nullptr, std::array< float, 4 > const &color_={ { 0, 0, 0, 0 } })
Definition: vulkan.hpp:15459
bool operator!=(SparseImageMemoryBindInfo const &rhs) const
Definition: vulkan.hpp:21248
ImageViewCreateInfo(ImageViewCreateFlags flags_=ImageViewCreateFlags(), Image image_=Image(), ImageViewType viewType_=ImageViewType::e1D, Format format_=Format::eUndefined, ComponentMapping components_=ComponentMapping(), ImageSubresourceRange subresourceRange_=ImageSubresourceRange())
Definition: vulkan.hpp:20048
Result getMemoryFdKHR(const MemoryGetFdInfoKHR *pGetFdInfo, int *pFd, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:3757
SemaphoreGetFdInfoKHR & operator=(VkSemaphoreGetFdInfoKHR const &rhs)
Definition: vulkan.hpp:26401
DescriptorSetLayoutCreateInfo(DescriptorSetLayoutCreateFlags flags_=DescriptorSetLayoutCreateFlags(), uint32_t bindingCount_=0, const DescriptorSetLayoutBinding *pBindings_=nullptr)
Definition: vulkan.hpp:25302
ResultValueType< void >::type resetEvent(Event event, Dispatch const &d=Dispatch()) const
bool operator==(PresentTimeGOOGLE const &rhs) const
Definition: vulkan.hpp:6925
const PhysicalDevice * pPhysicalDevices
Definition: vulkan.hpp:38391
StructureType sType
Definition: vulkan.hpp:27384
Definition: vulkan_core.h:3853
bool operator==(CommandBufferInheritanceInfo const &rhs) const
Definition: vulkan.hpp:19510
void(VKAPI_PTR * PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2769
ExternalFenceHandleTypeFlags handleTypes
Definition: vulkan.hpp:26861
PhysicalDeviceFeatures & setGeometryShader(Bool32 geometryShader_)
Definition: vulkan.hpp:5842
DebugUtilsMessengerEXT & operator=(std::nullptr_t)
Definition: vulkan.hpp:4709
PresentTimeGOOGLE(VkPresentTimeGOOGLE const &rhs)
Definition: vulkan.hpp:6898
BindSparseInfo & operator=(VkBindSparseInfo const &rhs)
Definition: vulkan.hpp:21280
Flags< CullModeFlagBits, VkCullModeFlags > CullModeFlags
Definition: vulkan.hpp:7636
const int32_t * pViewOffsets
Definition: vulkan.hpp:12861
VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer)
Result mapMemory(DeviceMemory memory, DeviceSize offset, DeviceSize size, MemoryMapFlags flags, void **ppData, Dispatch const &d=Dispatch()) const
size_t dataSize
Definition: vulkan.hpp:5608
Definition: vulkan_core.h:208
PFN_vkCmdClearAttachments vkCmdClearAttachments
Definition: vulkan.hpp:41862
uint32_t memoryHeapCount
Definition: vulkan.hpp:17728
PresentRegionsKHR & setPRegions(const PresentRegionKHR *pRegions_)
Definition: vulkan.hpp:12044
PipelineRasterizationConservativeStateCreateFlagBitsEXT
Definition: vulkan.hpp:2666
bool operator!=(GraphicsPipelineCreateInfo const &rhs) const
Definition: vulkan.hpp:22079
DeviceSize minStorageBufferOffsetAlignment
Definition: vulkan.hpp:22300
DescriptorSet & operator=(std::nullptr_t)
Definition: vulkan.hpp:3365
Bool32 shaderImageGatherExtended
Definition: vulkan.hpp:6245
PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT
Definition: vulkan.hpp:41870
Definition: vulkan_core.h:935
MemoryAllocateFlagsInfo(VkMemoryAllocateFlagsInfo const &rhs)
Definition: vulkan.hpp:27644
Definition: vulkan.hpp:5062
Definition: vulkan_core.h:535
VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers)
VkBool32(VKAPI_PTR * PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex)
Definition: vulkan_win32.h:46
void getImageMemoryRequirements2KHR(const ImageMemoryRequirementsInfo2 *pInfo, MemoryRequirements2 *pMemoryRequirements, Dispatch const &d=Dispatch()) const
SamplerYcbcrConversionCreateInfo & operator=(VkSamplerYcbcrConversionCreateInfo const &rhs)
Definition: vulkan.hpp:28818
CompareOp depthCompareOp
Definition: vulkan.hpp:9968
Definition: vulkan_core.h:693
VkResult(VKAPI_PTR * PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pPresentationTimingCount, VkPastPresentationTimingGOOGLE *pPresentationTimings)
Definition: vulkan_core.h:6603
uint32_t maxVertexOutputComponents
Definition: vulkan.hpp:22264
HdrMetadataEXT(VkHdrMetadataEXT const &rhs)
Definition: vulkan.hpp:13693
bool operator==(SurfaceCapabilities2EXT const &rhs) const
Definition: vulkan.hpp:27296
uint32_t dstQueueFamilyIndex
Definition: vulkan.hpp:20040
PFN_vkVoidFunction vkGetInstanceProcAddr(VkInstance instance, const char *pName) const
Definition: vulkan.hpp:1911
Definition: vulkan_core.h:131
PipelineCacheCreateInfo & setPInitialData(const void *pInitialData_)
Definition: vulkan.hpp:10015
PhysicalDeviceFeatures & setTextureCompressionASTC_LDR(Bool32 textureCompressionASTC_LDR_)
Definition: vulkan.hpp:5944
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(VkDevice device, const VkBufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBuffer *pBuffer)
bool operator==(SurfaceKHR const &rhs) const
Definition: vulkan.hpp:4514
VkResult vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR *pModes) const
Definition: vulkan.hpp:1833
uint32_t queryCount
Definition: vulkan.hpp:19682
ImageAspectFlagBits
Definition: vulkan.hpp:19687
uint32_t vertexBindingDescriptionCount
Definition: vulkan.hpp:9462
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo, VkExternalFenceProperties *pExternalFenceProperties)
const void * pNext
Definition: vulkan.hpp:11382
RenderPassCreateInfo & setPAttachments(const AttachmentDescription *pAttachments_)
Definition: vulkan.hpp:28536
PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR
Definition: vulkan.hpp:42145
void(VKAPI_PTR * PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2792
VkResult(VKAPI_PTR * PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets)
Definition: vulkan_core.h:2798
DeviceGroupPresentModeFlagBitsKHR mode
Definition: vulkan.hpp:27829
bool operator==(SamplerCreateInfo const &rhs) const
Definition: vulkan.hpp:10190
Definition: vulkan_core.h:607
AllocationCallbacks & operator=(VkAllocationCallbacks const &rhs)
Definition: vulkan.hpp:5240
Definition: vulkan_core.h:1557
void getSparseImageFormatProperties2(const PhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, SparseImageFormatProperties2 *pProperties, Dispatch const &d=Dispatch()) const
PipelineRasterizationStateCreateInfo(VkPipelineRasterizationStateCreateInfo const &rhs)
Definition: vulkan.hpp:9714
uint32_t swapchainCount
Definition: vulkan.hpp:13856
PhysicalDeviceConservativeRasterizationPropertiesEXT & operator=(VkPhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs)
Definition: vulkan.hpp:15651
bool operator!=(AllocationCallbacks const &rhs) const
Definition: vulkan.hpp:5296
Format
Definition: vulkan.hpp:7957
Definition: vulkan_core.h:139
uint64_t actualPresentTime
Definition: vulkan.hpp:6884
Definition: vulkan.hpp:17633
SemaphoreGetFdInfoKHR(VkSemaphoreGetFdInfoKHR const &rhs)
Definition: vulkan.hpp:26396
AccessFlags dstAccessMask
Definition: vulkan.hpp:17867
VULKAN_HPP_TYPESAFE_EXPLICIT RenderPass(VkRenderPass renderPass)
Definition: vulkan.hpp:3889
Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind
Definition: vulkan.hpp:16030
GLuint framebuffer
Definition: glext.h:7662
Image image
Definition: vulkan.hpp:21253
ClearRect & setRect(Rect2D rect_)
Definition: vulkan.hpp:5132
VkResult vkCreateDisplayPlaneSurfaceKHR(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface) const
Definition: vulkan.hpp:1463
InputAttachmentAspectReference & setSubpass(uint32_t subpass_)
Definition: vulkan.hpp:20525
AllocationCallbacks & setPfnReallocation(PFN_vkReallocationFunction pfnReallocation_)
Definition: vulkan.hpp:5257
IndirectCommandsLayoutTokenNVX & setDivisor(uint32_t divisor_)
Definition: vulkan.hpp:24647
SparseMemoryBind & setSize(DeviceSize size_)
Definition: vulkan.hpp:20941
bool operator!=(FormatProperties const &rhs) const
Definition: vulkan.hpp:19285
Definition: vulkan.hpp:15457
Definition: vulkan_core.h:998
uint32_t deviceMask
Definition: vulkan.hpp:27696
uint32_t binding
Definition: vulkan.hpp:7951
bool operator!=(PhysicalDeviceExternalFenceInfo const &rhs) const
Definition: vulkan.hpp:26794
uint32_t pushConstantRangeCount
Definition: vulkan.hpp:18488
ResultValueType< UniqueRenderPass >::type createRenderPassUnique(const RenderPassCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
const void * pNext
Definition: vulkan.hpp:16650
uint32_t divisor
Definition: vulkan.hpp:24674
ExternalMemoryBufferCreateInfo(ExternalMemoryHandleTypeFlags handleTypes_=ExternalMemoryHandleTypeFlags())
Definition: vulkan.hpp:25608
bool operator!=(DrawIndirectCommand const &rhs) const
Definition: vulkan.hpp:6361
uint32_t maxBoundDescriptorSets
Definition: vulkan.hpp:22244
Definition: vulkan_core.h:1442
PipelineRasterizationStateCreateInfo & setRasterizerDiscardEnable(Bool32 rasterizerDiscardEnable_)
Definition: vulkan.hpp:9742
void(VKAPI_PTR * PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
Definition: vulkan_core.h:2852
void vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo) const
Definition: vulkan.hpp:1217
DeviceQueueCreateInfo & setQueueFamilyIndex(uint32_t queueFamilyIndex_)
Definition: vulkan.hpp:17362
bool operator==(PhysicalDeviceShaderCorePropertiesAMD const &rhs) const
Definition: vulkan.hpp:15765
Definition: vulkan_core.h:661
XYColorEXT & operator=(VkXYColorEXT const &rhs)
Definition: vulkan.hpp:6732
ImageUsageFlags supportedUsageFlags
Definition: vulkan.hpp:23687
Definition: vulkan_core.h:1550
const void * pNext
Definition: vulkan.hpp:10044
void(VKAPI_PTR * PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
Definition: vulkan_core.h:2850
void getQueueFamilyProperties2(uint32_t *pQueueFamilyPropertyCount, QueueFamilyProperties2 *pQueueFamilyProperties, Dispatch const &d=Dispatch()) const
ObjectTableEntryNVX & setType(ObjectEntryTypeNVX type_)
Definition: vulkan.hpp:24914
void(VKAPI_PTR * PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void *pData)
Definition: vulkan_core.h:5322
void getDescriptorSetLayoutSupport(const DescriptorSetLayoutCreateInfo *pCreateInfo, DescriptorSetLayoutSupport *pSupport, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1152
UniqueHandle(UniqueHandle &&other)
Definition: vulkan.hpp:360
BindBufferMemoryDeviceGroupInfo & setDeviceIndexCount(uint32_t deviceIndexCount_)
Definition: vulkan.hpp:12968
Definition: vulkan_core.h:978
VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData)
DescriptorSetAllocateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9324
PFN_vkVoidFunction getProcAddr(const char *pName, Dispatch const &d=Dispatch()) const
VkFlags VkMemoryMapFlags
Definition: vulkan_core.h:1361
VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks *pAllocator)
const void * pNext
Definition: vulkan.hpp:18484
void vkDestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1627
DiscardRectangleModeEXT
Definition: vulkan.hpp:28258
uint64_t objectHandle
Definition: vulkan.hpp:17076
bool operator==(PhysicalDeviceSubgroupProperties const &rhs) const
Definition: vulkan.hpp:24456
InvalidExternalHandleError(char const *message)
Definition: vulkan.hpp:777
Definition: vulkan.hpp:23501
uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments
Definition: vulkan.hpp:16097
void getFeatures(PhysicalDeviceFeatures *pFeatures, Dispatch const &d=Dispatch()) const
UniqueHandle & operator=(UniqueHandle &&other)
Definition: vulkan.hpp:372
Definition: vulkan_core.h:308
Bool32 alphaToOne
Definition: vulkan.hpp:6234
VULKAN_HPP_CONSTEXPR PipelineCache()
Definition: vulkan.hpp:3948
void(VKAPI_PTR * PFN_vkInternalAllocationNotification)(void *pUserData, size_t size, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope)
Definition: vulkan_core.h:1653
uint32_t preserveAttachmentCount
Definition: vulkan.hpp:28490
ImageAspectFlags aspectMask
Definition: vulkan.hpp:20794
uint32_t maxUpdateAfterBindDescriptorsInAllPools
Definition: vulkan.hpp:16084
void vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) const
Definition: vulkan.hpp:1293
Definition: vulkan.hpp:236
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion)
ImageAspectFlags aspectMask
Definition: vulkan.hpp:19920
void destroyDescriptorUpdateTemplateKHR(DescriptorUpdateTemplate descriptorUpdateTemplate, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
uint32_t binding
Definition: vulkan.hpp:18243
Definition: vulkan_core.h:1379
#define X(a, b)
Definition: bba.c:185
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties)
Definition: vulkan_core.h:4369
void * pNext
Definition: vulkan.hpp:19319
bool operator==(DescriptorSetLayoutBinding const &rhs) const
Definition: vulkan.hpp:18229
SwapchainCreateInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:27946
bool operator<(ImageView const &rhs) const
Definition: vulkan.hpp:3046
void(VKAPI_PTR * PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites)
Definition: vulkan_core.h:5321
uint32_t width
Definition: vulkan.hpp:10618
PipelineTessellationDomainOriginStateCreateInfo & operator=(VkPipelineTessellationDomainOriginStateCreateInfo const &rhs)
Definition: vulkan.hpp:28724
Definition: vulkan_core.h:163
Definition: vulkan_core.h:1420
Definition: vulkan_core.h:179
bool operator==(DeviceGroupSwapchainCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:27867
IndirectCommandsLayoutTokenNVX & setBindingUnit(uint32_t bindingUnit_)
Definition: vulkan.hpp:24635
void vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties) const
Definition: vulkan.hpp:2077
bool operator==(DisplayModeKHR const &rhs) const
Definition: vulkan.hpp:4447
VkPhysicalDevice m_physicalDevice
Definition: vulkan.hpp:36253
void vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D *pGranularity) const
Definition: vulkan.hpp:2163
CopyDescriptorSet(VkCopyDescriptorSet const &rhs)
Definition: vulkan.hpp:9045
QueryPoolCreateInfo(QueryPoolCreateFlags flags_=QueryPoolCreateFlags(), QueryType queryType_=QueryType::eOcclusion, uint32_t queryCount_=0, QueryPipelineStatisticFlags pipelineStatistics_=QueryPipelineStatisticFlags())
Definition: vulkan.hpp:19607
uint32_t maxDescriptorSetUpdateAfterBindSamplers
Definition: vulkan.hpp:16099
Definition: vulkan_core.h:3683
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingVariableDescriptorCount(Bool32 descriptorBindingVariableDescriptorCount_)
Definition: vulkan.hpp:15962
HdrMetadataEXT & setMinLuminance(float minLuminance_)
Definition: vulkan.hpp:13739
DeviceGroupSubmitInfo & operator=(VkDeviceGroupSubmitInfo const &rhs)
Definition: vulkan.hpp:13318
StructureType sType
Definition: vulkan.hpp:12999
PFN_vkFreeFunction pfnFree
Definition: vulkan.hpp:5304
const PipelineColorBlendAttachmentState * pAttachments
Definition: vulkan.hpp:19129
Flags< DebugUtilsMessageTypeFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT > DebugUtilsMessageTypeFlagsEXT
Definition: vulkan.hpp:29252
bool operator!=(ObjectTablePipelineEntryNVX const &rhs) const
Definition: vulkan.hpp:24996
bool operator==(SwapchainKHR const &rhs) const
Definition: vulkan.hpp:4581
float y
Definition: vulkan.hpp:5054
ExternalMemoryHandleTypeFlagBitsNV
Definition: vulkan.hpp:24088
ValidationFlagsEXT & setDisabledValidationCheckCount(uint32_t disabledValidationCheckCount_)
Definition: vulkan.hpp:24376
Definition: vulkan_core.h:1458
PhysicalDeviceFeatures & setDualSrcBlend(Bool32 dualSrcBlend_)
Definition: vulkan.hpp:5860
VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks *pAllocator)
Definition: query.c:81
Sampler sampler
Definition: vulkan.hpp:7196
Definition: vulkan.hpp:6608
#define VK_UUID_SIZE
Definition: vulkan_core.h:109
DescriptorUpdateTemplateCreateFlags flags
Definition: vulkan.hpp:16863
void getImageSparseMemoryRequirements(Image image, uint32_t *pSparseMemoryRequirementCount, SparseImageMemoryRequirements *pSparseMemoryRequirements, Dispatch const &d=Dispatch()) const
bool operator!=(CmdReserveSpaceForCommandsInfoNVX const &rhs) const
Definition: vulkan.hpp:11886
ResultValueType< UniqueDebugUtilsMessengerEXT >::type createDebugUtilsMessengerEXTUnique(const DebugUtilsMessengerCreateInfoEXT &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
VkResult(VKAPI_PTR * PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers)
Definition: vulkan_core.h:2809
float y
Definition: vulkan.hpp:7039
uint32_t memoryTypeBits
Definition: vulkan.hpp:5331
Offset2D(int32_t x_=0, int32_t y_=0)
Definition: vulkan.hpp:4755
Definition: vulkan_core.h:5752
MemoryBarrier & operator=(VkMemoryBarrier const &rhs)
Definition: vulkan.hpp:17820
bool operator!=(PhysicalDeviceSparseImageFormatInfo2 const &rhs) const
Definition: vulkan.hpp:22510
bool operator==(PhysicalDeviceDescriptorIndexingFeaturesEXT const &rhs) const
Definition: vulkan.hpp:15979
Definition: vulkan.hpp:4864
VkPresentModeKHR
Definition: vulkan_core.h:4563
bool operator!=(DisplaySurfaceCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:23631
ImageSparseMemoryRequirementsInfo2(Image image_=Image())
Definition: vulkan.hpp:14404
Definition: vulkan_core.h:531
uint32_t maxMultiviewInstanceIndex
Definition: vulkan.hpp:12761
PresentRegionsKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:12032
void type
Definition: vulkan.hpp:922
Definition: vulkan.hpp:3208
Definition: vulkan_core.h:6656
ClearDepthStencilValue(VkClearDepthStencilValue const &rhs)
Definition: vulkan.hpp:5666
PipelineShaderStageCreateInfo & operator=(VkPipelineShaderStageCreateInfo const &rhs)
Definition: vulkan.hpp:18267
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
PipelineBindPoint pipelineBindPoint
Definition: vulkan.hpp:16868
const PipelineColorBlendStateCreateInfo * pColorBlendState
Definition: vulkan.hpp:22099
Result registerObjectsNVX(ObjectTableNVX objectTable, uint32_t objectCount, const ObjectTableEntryNVX *const *ppObjectTableEntries, const uint32_t *pObjectIndices, Dispatch const &d=Dispatch()) const
IndirectCommandsLayoutCreateInfoNVX & setPNext(const void *pNext_)
Definition: vulkan.hpp:24698
RenderPassCreateInfo & setPDependencies(const SubpassDependency *pDependencies_)
Definition: vulkan.hpp:28560
bool operator!=(VertexInputBindingDivisorDescriptionEXT const &rhs) const
Definition: vulkan.hpp:7113
uint32_t maxImageArrayLayers
Definition: vulkan.hpp:27328
Extent2D extent
Definition: vulkan.hpp:6663
PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR
Definition: vulkan.hpp:42046
DeviceGeneratedCommandsLimitsNVX & setMaxIndirectCommandsLayoutTokenCount(uint32_t maxIndirectCommandsLayoutTokenCount_)
Definition: vulkan.hpp:11765
StructureType sType
Definition: vulkan.hpp:11730
Definition: vulkan_core.h:165
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 *pSupported)
Definition: vulkan_core.h:4620
Definition: vulkan_core.h:2577
void executeCommands(uint32_t commandBufferCount, const CommandBuffer *pCommandBuffers, Dispatch const &d=Dispatch()) const
float blendConstants[4]
Definition: vulkan.hpp:19130
Definition: vulkan.hpp:17412
const void * pNext
Definition: vulkan.hpp:9535
Flags< CompositeAlphaFlagBitsKHR, VkCompositeAlphaFlagsKHR > CompositeAlphaFlagsKHR
Definition: vulkan.hpp:23448
ImageSparseMemoryRequirementsInfo2(VkImageSparseMemoryRequirementsInfo2 const &rhs)
Definition: vulkan.hpp:14409
const void * pNext
Definition: vulkan.hpp:26446
void getProperties2(PhysicalDeviceProperties2 *pProperties, Dispatch const &d=Dispatch()) const
const SpecializationMapEntry * pMapEntries
Definition: vulkan.hpp:5607
SubmitInfo & setPWaitDstStageMask(const PipelineStageFlags *pWaitDstStageMask_)
Definition: vulkan.hpp:30989
Definition: vulkan_core.h:7149
PipelineVertexInputStateCreateInfo & setFlags(PipelineVertexInputStateCreateFlags flags_)
Definition: vulkan.hpp:9405
ResultValueType< void >::type waitIdle(Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1486
bool operator!=(ImportSemaphoreFdInfoKHR const &rhs) const
Definition: vulkan.hpp:26702
Flags< DependencyFlagBits, VkDependencyFlags > DependencyFlags
Definition: vulkan.hpp:23179
bool operator!=(MemoryAllocateFlagsInfo const &rhs) const
Definition: vulkan.hpp:27685
HdrMetadataEXT & operator=(VkHdrMetadataEXT const &rhs)
Definition: vulkan.hpp:13698
Definition: vulkan_core.h:1547
Definition: vulkan_core.h:1187
bool operator<(DebugReportCallbackEXT const &rhs) const
Definition: vulkan.hpp:4658
void vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1663
AttachmentDescription & setInitialLayout(ImageLayout initialLayout_)
Definition: vulkan.hpp:22988
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayPlanePropertiesKHR *pProperties)
RasterizationOrderAMD
Definition: vulkan.hpp:24027
StencilFaceFlagBits
Definition: vulkan.hpp:23035
bool operator==(DebugMarkerObjectNameInfoEXT const &rhs) const
Definition: vulkan.hpp:23911
Definition: vulkan_core.h:1364
Definition: vulkan_core.h:3804
Extent3D extent
Definition: vulkan.hpp:21072
Flags< PipelineDiscardRectangleStateCreateFlagBitsEXT, VkPipelineDiscardRectangleStateCreateFlagsEXT > PipelineDiscardRectangleStateCreateFlagsEXT
Definition: vulkan.hpp:2634
bool operator==(PipelineViewportWScalingStateCreateInfoNV const &rhs) const
Definition: vulkan.hpp:14041
PipelineViewportSwizzleStateCreateInfoNV & setPViewportSwizzles(const ViewportSwizzleNV *pViewportSwizzles_)
Definition: vulkan.hpp:28222
VkResult(VKAPI_PTR * PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)
Definition: vulkan_core.h:2747
PhysicalDeviceExternalBufferInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:25493
Definition: vulkan_core.h:1278
DeviceSize resourceOffset
Definition: vulkan.hpp:20984
bool operator==(PastPresentationTimingGOOGLE const &rhs) const
Definition: vulkan.hpp:6868
Buffer buffer
Definition: vulkan.hpp:21133
SamplerReductionModeCreateInfoEXT(VkSamplerReductionModeCreateInfoEXT const &rhs)
Definition: vulkan.hpp:28656
PipelineViewportSwizzleStateCreateInfoNV & setFlags(PipelineViewportSwizzleStateCreateFlagsNV flags_)
Definition: vulkan.hpp:28210
Definition: vulkan_core.h:4855
CommandBufferInheritanceInfo & setSubpass(uint32_t subpass_)
Definition: vulkan.hpp:19475
Result displayPowerControlEXT(DisplayKHR display, const DisplayPowerInfoEXT *pDisplayPowerInfo, Dispatch const &d=Dispatch()) const
bool operator!=(CommandBufferAllocateInfo const &rhs) const
Definition: vulkan.hpp:10298
MemoryAllocateInfo(VkMemoryAllocateInfo const &rhs)
Definition: vulkan.hpp:8785
VkFilter
Definition: vulkan_core.h:1051
SurfaceCapabilitiesKHR surfaceCapabilities
Definition: vulkan.hpp:23715
VkResult vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkInstance *pInstance) const
Definition: vulkan.hpp:1501
VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices)
PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT
Definition: vulkan.hpp:41872
Definition: vulkan_core.h:198
Definition: vulkan_core.h:576
PhysicalDeviceMultiviewFeatures & operator=(VkPhysicalDeviceMultiviewFeatures const &rhs)
Definition: vulkan.hpp:12674
VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:4279
Definition: vulkan_core.h:914
CommandBufferLevel level
Definition: vulkan.hpp:10309
PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT
Definition: vulkan.hpp:42162
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t *connection, xcb_visualid_t visual_id)
Definition: vulkan_core.h:6968
Definition: vulkan_core.h:6205
uint32_t deviceRenderAreaCount
Definition: vulkan.hpp:13237
Result getDisplayPlanePropertiesKHR(uint32_t *pPropertyCount, DisplayPlanePropertiesKHR *pProperties, Dispatch const &d=Dispatch()) const
PipelineViewportSwizzleStateCreateInfoNV & operator=(VkPipelineViewportSwizzleStateCreateInfoNV const &rhs)
Definition: vulkan.hpp:28199
VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(VkDevice device, const VkImageViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImageView *pView)
uint32_t maxImageDimension1D
Definition: vulkan.hpp:22231
bool operator==(PipelineShaderStageCreateInfo const &rhs) const
Definition: vulkan.hpp:18313
Definition: vulkan_core.h:858
Definition: vulkan_core.h:806
Definition: vulkan_core.h:4094
bool operator!=(IndirectCommandsLayoutTokenNVX const &rhs) const
Definition: vulkan.hpp:24666
Definition: vulkan.hpp:20293
DeviceGroupPresentInfoKHR & setSwapchainCount(uint32_t swapchainCount_)
Definition: vulkan.hpp:27785
SamplerCreateInfo & setCompareOp(CompareOp compareOp_)
Definition: vulkan.hpp:10155
GLuint GLenum GLenum transform
Definition: glext.h:10314
Definition: vulkan_core.h:1173
ResultValueType< UniqueSampler >::type createSamplerUnique(const SamplerCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
DescriptorPoolSize & operator=(VkDescriptorPoolSize const &rhs)
Definition: vulkan.hpp:7404
Image image
Definition: vulkan.hpp:14396
bool operator!=(DescriptorUpdateTemplateCreateInfo const &rhs) const
Definition: vulkan.hpp:16853
VkIndirectCommandsLayoutNVX m_indirectCommandsLayoutNVX
Definition: vulkan.hpp:4141
void(VKAPI_PTR * PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve *pRegions)
Definition: vulkan_core.h:2843
Definition: vulkan_core.h:551
VkResult vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence) const
Definition: vulkan.hpp:2237
Definition: vulkan_core.h:3920
const ImageView * pAttachments
Definition: vulkan.hpp:10617
DescriptorBindingFlagBitsEXT
Definition: vulkan.hpp:29443
PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties
Definition: vulkan.hpp:42089
MemoryAllocateFlagsInfo(MemoryAllocateFlags flags_=MemoryAllocateFlags(), uint32_t deviceMask_=0)
Definition: vulkan.hpp:27638
DeviceGroupBindSparseInfo & operator=(VkDeviceGroupBindSparseInfo const &rhs)
Definition: vulkan.hpp:13416
bool operator==(SamplerYcbcrConversion const &rhs) const
Definition: vulkan.hpp:4244
bool operator==(PhysicalDeviceShaderDrawParameterFeatures const &rhs) const
Definition: vulkan.hpp:15436
Definition: vulkan_core.h:826
Definition: vulkan_core.h:1564
bool operator!=(SamplerYcbcrConversionImageFormatProperties const &rhs) const
Definition: vulkan.hpp:14715
SubmitInfo & setPWaitSemaphores(const Semaphore *pWaitSemaphores_)
Definition: vulkan.hpp:30983
VkImage m_image
Definition: vulkan.hpp:3002
Result result
Definition: vulkan.hpp:900
const void * pNext
Definition: vulkan.hpp:19679
PhysicalDeviceType deviceType
Definition: vulkan.hpp:22369
bool operator==(Framebuffer const &rhs) const
Definition: vulkan.hpp:3840
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities)
Definition: vulkan_core.h:4621
Extent2D & setHeight(uint32_t height_)
Definition: vulkan.hpp:4888
DeviceGroupSubmitInfo(uint32_t waitSemaphoreCount_=0, const uint32_t *pWaitSemaphoreDeviceIndices_=nullptr, uint32_t commandBufferCount_=0, const uint32_t *pCommandBufferDeviceMasks_=nullptr, uint32_t signalSemaphoreCount_=0, const uint32_t *pSignalSemaphoreDeviceIndices_=nullptr)
Definition: vulkan.hpp:13303
VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements)
Definition: vulkan_core.h:964
StructureType sType
Definition: vulkan.hpp:26044
SparseImageOpaqueMemoryBindInfo & setPBinds(const SparseMemoryBind *pBinds_)
Definition: vulkan.hpp:21170
bool operator!() const
Definition: vulkan.hpp:30018
bool operator!=(PipelineCacheCreateInfo const &rhs) const
Definition: vulkan.hpp:10035
Definition: vulkan_core.h:647
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t *pCounterValue)
struct _cl_event * event
Definition: glext.h:8406
PhysicalDeviceProtectedMemoryProperties & setPNext(void *pNext_)
Definition: vulkan.hpp:14886
Definition: vulkan_core.h:3697
#define VK_HEADER_VERSION
Definition: vulkan_core.h:48
bool operator!=(DisplayModeCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:10673
Definition: vulkan_core.h:6975
VkResult(VKAPI_PTR * PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkQueryPool *pQueryPool)
Definition: vulkan_core.h:2768
void(VKAPI_PTR * PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D *pDiscardRectangles)
Definition: vulkan_core.h:6716
Flags< DescriptorSetLayoutCreateFlagBits, VkDescriptorSetLayoutCreateFlags > DescriptorSetLayoutCreateFlags
Definition: vulkan.hpp:25280
ShaderStageFlagBits
Definition: vulkan.hpp:18141
PipelineTessellationStateCreateInfo & setPatchControlPoints(uint32_t patchControlPoints_)
Definition: vulkan.hpp:9572
ResultValueType< UniqueDebugReportCallbackEXT >::type createDebugReportCallbackEXTUnique(const DebugReportCallbackCreateInfoEXT &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
ImageMemoryBarrier & setPNext(const void *pNext_)
Definition: vulkan.hpp:19952
bool operator!=(DebugUtilsLabelEXT const &rhs) const
Definition: vulkan.hpp:15506
void link()
Definition: vulkan.hpp:489
NotPermittedEXTError(std::string const &message)
Definition: vulkan.hpp:839
Definition: vulkan_core.h:5791
Definition: vulkan_core.h:608
bool operator==(SparseMemoryBind const &rhs) const
Definition: vulkan.hpp:20970
bool operator!=(SubresourceLayout const &rhs) const
Definition: vulkan.hpp:5411
StructureType sType
Definition: vulkan.hpp:27566
ObjectTableCreateInfoNVX & setMaxUniformBuffersPerDescriptor(uint32_t maxUniformBuffersPerDescriptor_)
Definition: vulkan.hpp:24824
bool operator!=(PresentRegionsKHR const &rhs) const
Definition: vulkan.hpp:12063
Definition: vulkan_core.h:6412
AttachmentLoadOp
Definition: vulkan.hpp:7253
void getGroupPeerMemoryFeatures(uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, PeerMemoryFeatureFlags *pPeerMemoryFeatures, Dispatch const &d=Dispatch()) const
DescriptorImageInfo & setSampler(Sampler sampler_)
Definition: vulkan.hpp:7161
VULKAN_HPP_CONSTEXPR Flags()
Definition: vulkan.hpp:115
void(VKAPI_PTR * PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents)
Definition: vulkan_core.h:2855
DebugUtilsObjectNameInfoEXT & setObjectType(ObjectType objectType_)
Definition: vulkan.hpp:16944
Definition: vulkan.hpp:3007
DeviceGroupBindSparseInfo & setResourceDeviceIndex(uint32_t resourceDeviceIndex_)
Definition: vulkan.hpp:13427
ExternalFenceFeatureFlags externalFenceFeatures
Definition: vulkan.hpp:27055
Definition: vulkan_core.h:5911
FenceGetFdInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:26951
const DescriptorSetLayoutBinding * pBindings
Definition: vulkan.hpp:25369
bool operator==(DescriptorPoolSize const &rhs) const
Definition: vulkan.hpp:7426
bool operator==(BindImageMemoryDeviceGroupInfo const &rhs) const
Definition: vulkan.hpp:13140
bool operator==(BufferView const &rhs) const
Definition: vulkan.hpp:2902
StructureType sType
Definition: vulkan.hpp:9685
size_t tagSize
Definition: vulkan.hpp:24022
const PipelineMultisampleStateCreateInfo * pMultisampleState
Definition: vulkan.hpp:22097
PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT
Definition: vulkan.hpp:41904
Type release()
Definition: vulkan.hpp:423
VULKAN_HPP_CONSTEXPR ObjectTableNVX()
Definition: vulkan.hpp:4015
bool operator!=(ExternalImageFormatPropertiesNV const &rhs) const
Definition: vulkan.hpp:24334
PipelineVertexInputStateCreateInfo(PipelineVertexInputStateCreateFlags flags_=PipelineVertexInputStateCreateFlags(), uint32_t vertexBindingDescriptionCount_=0, const VertexInputBindingDescription *pVertexBindingDescriptions_=nullptr, uint32_t vertexAttributeDescriptionCount_=0, const VertexInputAttributeDescription *pVertexAttributeDescriptions_=nullptr)
Definition: vulkan.hpp:9380
BindImagePlaneMemoryInfo & setPlaneAspect(ImageAspectFlagBits planeAspect_)
Definition: vulkan.hpp:20657
BindImageMemorySwapchainInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:13542
ExternalMemoryBufferCreateInfo & setHandleTypes(ExternalMemoryHandleTypeFlags handleTypes_)
Definition: vulkan.hpp:25629
Definition: vulkan_core.h:606
Definition: vulkan_core.h:2551
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties)
PipelineViewportWScalingStateCreateInfoNV & setViewportCount(uint32_t viewportCount_)
Definition: vulkan.hpp:14024
uint32_t shaderArraysPerEngineCount
Definition: vulkan.hpp:15796
VkResult(VKAPI_PTR * PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR *pImportFenceWin32HandleInfo)
Definition: vulkan_win32.h:211
Definition: vulkan_core.h:585
BindImageMemoryInfo & setMemory(DeviceMemory memory_)
Definition: vulkan.hpp:13041
Offset2D & setY(int32_t y_)
Definition: vulkan.hpp:4777
StructureType sType
Definition: vulkan.hpp:23711
ObjectTableIndexBufferEntryNVX & operator=(VkObjectTableIndexBufferEntryNVX const &rhs)
Definition: vulkan.hpp:25151
RenderPassBeginInfo & setFramebuffer(Framebuffer framebuffer_)
Definition: vulkan.hpp:10347
BufferMemoryRequirementsInfo2 & setBuffer(Buffer buffer_)
Definition: vulkan.hpp:14311
Definition: vulkan_core.h:538
DebugUtilsMessengerCallbackDataFlagBitsEXT
Definition: vulkan.hpp:2660
GLsizei const GLfloat * value
Definition: glext.h:6709
uint32_t maxVertexInputAttributes
Definition: vulkan.hpp:22260
bool operator!=(LayerProperties const &rhs) const
Definition: vulkan.hpp:5211
PipelineColorBlendAdvancedStateCreateInfoEXT & setBlendOverlap(BlendOverlapEXT blendOverlap_)
Definition: vulkan.hpp:29007
Definition: vulkan_core.h:1180
ExternalMemoryImageCreateInfo(ExternalMemoryHandleTypeFlags handleTypes_=ExternalMemoryHandleTypeFlags())
Definition: vulkan.hpp:25551
Definition: vulkan_core.h:537
bool operator==(ImageViewCreateInfo const &rhs) const
Definition: vulkan.hpp:20115
Definition: vulkan.hpp:13679
PrimitiveTopology
Definition: vulkan.hpp:7559
BindImagePlaneMemoryInfo(ImageAspectFlagBits planeAspect_=ImageAspectFlagBits::eColor)
Definition: vulkan.hpp:20636
PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties
Definition: vulkan.hpp:42104
Definition: vulkan_win32.h:236
Rect2D(Offset2D offset_=Offset2D(), Extent2D extent_=Extent2D())
Definition: vulkan.hpp:5064
bool operator==(PipelineCoverageModulationStateCreateInfoNV const &rhs) const
Definition: vulkan.hpp:29113
Definition: vulkan_core.h:961
StructureType sType
Definition: vulkan.hpp:14392
RefreshCycleDurationGOOGLE(VkRefreshCycleDurationGOOGLE const &rhs)
Definition: vulkan.hpp:6777
PFN_vkDestroyPipeline vkDestroyPipeline
Definition: vulkan.hpp:42000
Definition: vulkan_core.h:1334
Definition: vulkan.hpp:8841
void(VKAPI_PTR * PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
Definition: vulkan_core.h:4362
Definition: vulkan_core.h:959
Result getPipelineCacheData(PipelineCache pipelineCache, size_t *pDataSize, void *pData, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:509
PhysicalDeviceShaderDrawParameterFeatures & setShaderDrawParameters(Bool32 shaderDrawParameters_)
Definition: vulkan.hpp:15425
VkCommandBuffer m_commandBuffer
Definition: vulkan.hpp:30024
SampleLocationsInfoEXT sampleLocationsInfo
Definition: vulkan.hpp:22659
ImageBlit & setSrcSubresource(ImageSubresourceLayers srcSubresource_)
Definition: vulkan.hpp:20244
PFN_vkQueueSubmit vkQueueSubmit
Definition: vulkan.hpp:42165
Framebuffer framebuffer
Definition: vulkan.hpp:19534
InstanceCreateInfo & setEnabledExtensionCount(uint32_t enabledExtensionCount_)
Definition: vulkan.hpp:8729
uint32_t bindingUnit
Definition: vulkan.hpp:24672
ImageSwapchainCreateInfoKHR & setSwapchain(SwapchainKHR swapchain_)
Definition: vulkan.hpp:13492
PhysicalDeviceVertexAttributeDivisorPropertiesEXT & setPNext(void *pNext_)
Definition: vulkan.hpp:16283
Definition: vulkan_core.h:4835
Definition: vulkan.hpp:23324
void getImageMemoryRequirements2(const ImageMemoryRequirementsInfo2 *pInfo, MemoryRequirements2 *pMemoryRequirements, Dispatch const &d=Dispatch()) const
uint32_t maxTessellationGenerationLevel
Definition: vulkan.hpp:22265
Extent2D imageExtent
Definition: vulkan.hpp:28090
ImageCreateInfo & setSharingMode(SharingMode sharingMode_)
Definition: vulkan.hpp:21727
Flags< DebugUtilsMessengerCallbackDataFlagBitsEXT, VkDebugUtilsMessengerCallbackDataFlagsEXT > DebugUtilsMessengerCallbackDataFlagsEXT
Definition: vulkan.hpp:2664
FragmentedPoolError(char const *message)
Definition: vulkan.hpp:761
bool operator==(ImageSubresource const &rhs) const
Definition: vulkan.hpp:19763
uint32_t descriptorUpdateEntryCount
Definition: vulkan.hpp:16864
void vkGetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements) const
Definition: vulkan.hpp:1899
bool operator!=(PipelineColorBlendAttachmentState const &rhs) const
Definition: vulkan.hpp:19018
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties)
Definition: vulkan_core.h:646
Bool32 shaderTessellationAndGeometryPointSize
Definition: vulkan.hpp:6244
PipelineCreateFlags flags
Definition: vulkan.hpp:18893
DisplayEventInfoEXT & setDisplayEvent(DisplayEventTypeEXT displayEvent_)
Definition: vulkan.hpp:27542
bool operator==(ImportFenceFdInfoKHR const &rhs) const
Definition: vulkan.hpp:27237
Definition: vulkan_core.h:4255
Bool32 supported
Definition: vulkan.hpp:15396
SampleCountFlagBits samples
Definition: vulkan.hpp:22522
VkResult(VKAPI_PTR * PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage)
Definition: vulkan_core.h:2775
Definition: vulkan_core.h:1003
SamplerYcbcrConversionCreateInfo & setXChromaOffset(ChromaLocation xChromaOffset_)
Definition: vulkan.hpp:28853
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingUpdateUnusedWhilePending(Bool32 descriptorBindingUpdateUnusedWhilePending_)
Definition: vulkan.hpp:15950
void(VKAPI_PTR * PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:7217
Flags< ImageUsageFlagBits, VkImageUsageFlags > ImageUsageFlags
Definition: vulkan.hpp:18538
VkResult(VKAPI_PTR * PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkEvent *pEvent)
Definition: vulkan_core.h:2763
StructureType sType
Definition: vulkan.hpp:18128
Definition: vulkan_core.h:237
MemoryHostPointerPropertiesEXT & setPNext(void *pNext_)
Definition: vulkan.hpp:15538
Definition: vulkan_core.h:4072
Definition: vulkan.hpp:20046
Bool32 shaderResourceResidency
Definition: vulkan.hpp:6259
const void * pNext
Definition: vulkan.hpp:10396
ObjectTablePushConstantEntryNVX & setFlags(ObjectEntryUsageFlagsNVX flags_)
Definition: vulkan.hpp:25231
Definition: vulkan_core.h:5766
Definition: vulkan_core.h:662
void beginQuery(QueryPool queryPool, uint32_t query, QueryControlFlags flags, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:707
ExtensionNotPresentError(std::string const &message)
Definition: vulkan.hpp:719
ObjectTableNVX objectTable
Definition: vulkan.hpp:11896
ImageSubresourceLayers(ImageAspectFlags aspectMask_=ImageAspectFlags(), uint32_t mipLevel_=0, uint32_t baseArrayLayer_=0, uint32_t layerCount_=0)
Definition: vulkan.hpp:19783
StructureType sType
Definition: vulkan.hpp:17202
BufferImageCopy & setImageSubresource(ImageSubresourceLayers imageSubresource_)
Definition: vulkan.hpp:20333
SamplerYcbcrConversionInfo & setConversion(SamplerYcbcrConversion conversion_)
Definition: vulkan.hpp:14610
bool operator==(Extent2D const &rhs) const
Definition: vulkan.hpp:4899
VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers)
ClearDepthStencilValue & setStencil(uint32_t stencil_)
Definition: vulkan.hpp:5682
SubmitInfo & setCommandBufferCount(uint32_t commandBufferCount_)
Definition: vulkan.hpp:30995
Definition: vulkan_core.h:3897
DebugUtilsMessengerCallbackDataEXT & operator=(VkDebugUtilsMessengerCallbackDataEXT const &rhs)
Definition: vulkan.hpp:17104
Viewport & setWidth(float width_)
Definition: vulkan.hpp:5009
const void * pNext
Definition: vulkan.hpp:28593
PhysicalDeviceConservativeRasterizationPropertiesEXT & setConservativePointAndLineRasterization(Bool32 conservativePointAndLineRasterization_)
Definition: vulkan.hpp:15686
void(VKAPI_PTR * PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2781
const VertexInputBindingDivisorDescriptionEXT * pVertexBindingDivisors
Definition: vulkan.hpp:16262
DisplayModeCreateInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:10642
VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
Flags< BitType > operator^(Flags< BitType > const &rhs) const
Definition: vulkan.hpp:173
const AttachmentSampleLocationsEXT * pAttachmentInitialSampleLocations
Definition: vulkan.hpp:22790
RenderPassInputAttachmentAspectCreateInfo & setPAspectReferences(const InputAttachmentAspectReference *pAspectReferences_)
Definition: vulkan.hpp:20598
Definition: vulkan_core.h:7356
StructureType sType
Definition: vulkan.hpp:20849
PhysicalDeviceConservativeRasterizationPropertiesEXT & setPrimitiveUnderestimation(Bool32 primitiveUnderestimation_)
Definition: vulkan.hpp:15680
ExportFenceCreateInfo(VkExportFenceCreateInfo const &rhs)
Definition: vulkan.hpp:26817
PhysicalDeviceBlendOperationAdvancedFeaturesEXT & setAdvancedBlendCoherentOperations(Bool32 advancedBlendCoherentOperations_)
Definition: vulkan.hpp:15078
bool operator!() const
Definition: vulkan.hpp:4001
FenceImportFlags flags
Definition: vulkan.hpp:27258
ColorSpaceKHR colorSpace
Definition: vulkan.hpp:23343
ObjectTableCreateInfoNVX & setMaxStorageImagesPerDescriptor(uint32_t maxStorageImagesPerDescriptor_)
Definition: vulkan.hpp:24836
size_t stride
Definition: vulkan.hpp:7525
PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR
Definition: vulkan.hpp:42022
void vkQueueBeginDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo) const
Definition: vulkan.hpp:2233
ExtensionNotPresentError(char const *message)
Definition: vulkan.hpp:721
GraphicsPipelineCreateInfo & setBasePipelineHandle(Pipeline basePipelineHandle_)
Definition: vulkan.hpp:22039
Definition: vulkan_core.h:6860
uint64_t DeviceSize
Definition: vulkan.hpp:2354
DescriptorSetAllocateInfo & setPSetLayouts(const DescriptorSetLayout *pSetLayouts_)
Definition: vulkan.hpp:9342
ImageBlit & setDstOffsets(std::array< Offset3D, 2 > dstOffsets_)
Definition: vulkan.hpp:20262
bool operator!=(IndirectCommandsLayoutNVX const &rhs) const
Definition: vulkan.hpp:4113
VkFlags VkShaderStageFlags
Definition: vulkan_core.h:1505
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderStorageImageArrayNonUniformIndexing(Bool32 shaderStorageImageArrayNonUniformIndexing_)
Definition: vulkan.hpp:15890
bool operator==(DisplayModeCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:10665
Definition: vulkan_core.h:3816
CommandPoolCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:21482
ImageAspectFlags aspectMask
Definition: vulkan.hpp:20500
VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(VkDevice device)
FenceCreateInfo & operator=(VkFenceCreateInfo const &rhs)
Definition: vulkan.hpp:19171
Definition: vulkan_core.h:6326
bool operator!=(SurfaceCapabilities2KHR const &rhs) const
Definition: vulkan.hpp:23705
VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport)
PFN_vkCreatePipelineLayout vkCreatePipelineLayout
Definition: vulkan.hpp:41953
Definition: Common.h:43
QueryPoolCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:19625
bool operator!=(ImageFormatListCreateInfoKHR const &rhs) const
Definition: vulkan.hpp:15197
int32_t z
Definition: vulkan.hpp:4860
void(VKAPI_PTR * PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2722
PhysicalDeviceExternalSemaphoreInfo & operator=(VkPhysicalDeviceExternalSemaphoreInfo const &rhs)
Definition: vulkan.hpp:26220
SamplerAddressMode
Definition: vulkan.hpp:7599
ExportSemaphoreCreateInfo(VkExportSemaphoreCreateInfo const &rhs)
Definition: vulkan.hpp:26272
Definition: vulkan_core.h:142
void(VKAPI_PTR * PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo)
Definition: vulkan_core.h:6901
bool operator<(BufferView const &rhs) const
Definition: vulkan.hpp:2912
ImageResolve & operator=(VkImageResolve const &rhs)
Definition: vulkan.hpp:20396
StructureType sType
Definition: vulkan.hpp:11379
ProtectedSubmitInfo(VkProtectedSubmitInfo const &rhs)
Definition: vulkan.hpp:14766
CopyDescriptorSet & setSrcArrayElement(uint32_t srcArrayElement_)
Definition: vulkan.hpp:9073
ViewportWScalingNV & setXcoeff(float xcoeff_)
Definition: vulkan.hpp:6959
SurfaceLostKHRError(char const *message)
Definition: vulkan.hpp:785
const void * pNext
Definition: vulkan.hpp:14395
DisplayPowerInfoEXT(VkDisplayPowerInfoEXT const &rhs)
Definition: vulkan.hpp:27406
Definition: vulkan_core.h:598
ImageSubresourceLayers srcSubresource
Definition: vulkan.hpp:20450
void(VKAPI_PTR * PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures)
Definition: vulkan_core.h:4360
ResultValueType< UniqueSwapchainKHR >::type createSwapchainKHRUnique(const SwapchainCreateInfoKHR &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *pName)
bool operator!=(DisplayPlaneCapabilitiesKHR const &rhs) const
Definition: vulkan.hpp:23423
ResultValueType< UniqueDevice >::type createDeviceUnique(const DeviceCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:13852
bool operator!=(ComputePipelineCreateInfo const &rhs) const
Definition: vulkan.hpp:18883
PhysicalDeviceConservativeRasterizationPropertiesEXT & setPNext(void *pNext_)
Definition: vulkan.hpp:15656
Definition: vulkan_core.h:213
QueryPoolCreateFlagBits
Definition: vulkan.hpp:2362
SamplerYcbcrConversionCreateInfo & setComponents(ComponentMapping components_)
Definition: vulkan.hpp:28847
Queue & operator=(std::nullptr_t)
Definition: vulkan.hpp:31080
Definition: vulkan_core.h:610
bool operator==(PipelineDiscardRectangleStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:28319
ImageResolve & setSrcSubresource(ImageSubresourceLayers srcSubresource_)
Definition: vulkan.hpp:20401
MemoryHostPointerPropertiesEXT(uint32_t memoryTypeBits_=0)
Definition: vulkan.hpp:15523
FormatFeatureFlags optimalTilingFeatures
Definition: vulkan.hpp:19291
GraphicsPipelineCreateInfo(VkGraphicsPipelineCreateInfo const &rhs)
Definition: vulkan.hpp:21933
Flags< ShaderModuleCreateFlagBits, VkShaderModuleCreateFlags > ShaderModuleCreateFlags
Definition: vulkan.hpp:2486
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport *pViewports)
Definition: vulkan_core.h:3745
size_t tagSize
Definition: vulkan.hpp:17078
const GLchar * marker
Definition: glsym_es2.h:111
Rect2D rect
Definition: vulkan.hpp:5167
#define VULKAN_HPP_TYPESAFE_EXPLICIT
Definition: vulkan.hpp:85
ImageMemoryBarrier & setOldLayout(ImageLayout oldLayout_)
Definition: vulkan.hpp:19970
ViewportWScalingNV(VkViewportWScalingNV const &rhs)
Definition: vulkan.hpp:6949
ExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes
Definition: vulkan.hpp:26508
Definition: vulkan_win32.h:195
ImageMemoryRequirementsInfo2 & setImage(Image image_)
Definition: vulkan.hpp:14368
VkResult vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, uint32_t *pSurfaceFormatCount, VkSurfaceFormat2KHR *pSurfaceFormats) const
Definition: vulkan.hpp:2105
DisplayPowerInfoEXT & operator=(VkDisplayPowerInfoEXT const &rhs)
Definition: vulkan.hpp:27411
Definition: vulkan_core.h:1034
VkResult(VKAPI_PTR * PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void **ppData)
Definition: vulkan_core.h:2744
Device & operator=(std::nullptr_t)
Definition: vulkan.hpp:31349
PhysicalDeviceFeatures & setMultiViewport(Bool32 multiViewport_)
Definition: vulkan.hpp:5926
PFN_vkCreateCommandPool vkCreateCommandPool
Definition: vulkan.hpp:41923
VULKAN_HPP_TYPESAFE_EXPLICIT Semaphore(VkSemaphore semaphore)
Definition: vulkan.hpp:3621
uint32_t baseMipLevel
Definition: vulkan.hpp:19921
StructureType sType
Definition: vulkan.hpp:14056
void vkGetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements) const
Definition: vulkan.hpp:1805
void vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const
Definition: vulkan.hpp:1337
DisplayModeParametersKHR(Extent2D visibleRegion_=Extent2D(), uint32_t refreshRate_=0)
Definition: vulkan.hpp:6536
StructureType sType
Definition: vulkan.hpp:26443
DebugMarkerObjectTagInfoEXT & setTagName(uint64_t tagName_)
Definition: vulkan.hpp:23975
VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkInstance *pInstance)
bool operator==(DescriptorPoolCreateInfo const &rhs) const
Definition: vulkan.hpp:23143
uint32_t maxFragmentDualSrcAttachments
Definition: vulkan.hpp:22280
VkResult vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pSwapchainImageCount, VkImage *pSwapchainImages) const
Definition: vulkan.hpp:2185
ResultValueType< UniqueObjectTableNVX >::type createObjectTableNVXUnique(const ObjectTableCreateInfoNVX &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
ImageMemoryBarrier(AccessFlags srcAccessMask_=AccessFlags(), AccessFlags dstAccessMask_=AccessFlags(), ImageLayout oldLayout_=ImageLayout::eUndefined, ImageLayout newLayout_=ImageLayout::eUndefined, uint32_t srcQueueFamilyIndex_=0, uint32_t dstQueueFamilyIndex_=0, Image image_=Image(), ImageSubresourceRange subresourceRange_=ImageSubresourceRange())
Definition: vulkan.hpp:19930
ValidationFailedEXTError(std::string const &message)
Definition: vulkan.hpp:815
BufferCreateInfo & setFlags(BufferCreateFlags flags_)
Definition: vulkan.hpp:18069
Definition: vulkan_core.h:1102
void(VKAPI_PTR * PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers)
Definition: vulkan_core.h:2847
uint32_t viewFormatCount
Definition: vulkan.hpp:15207
PFN_vkGetQueryPoolResults vkGetQueryPoolResults
Definition: vulkan.hpp:42133
PoolType getPool() const
Definition: vulkan.hpp:1082
uint32_t layer
Definition: vulkan.hpp:6664
uint32_t minVgprAllocation
Definition: vulkan.hpp:15806
Optional< const AllocationCallbacks > getAllocator() const
Definition: vulkan.hpp:1035
void * pNext
Definition: vulkan.hpp:26135
Definition: vulkan_core.h:1260
Definition: vulkan_core.h:805
PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage
Definition: vulkan.hpp:41864
Definition: vulkan_core.h:1038
Bool32 shaderStorageImageWriteWithoutFormat
Definition: vulkan.hpp:6249
Definition: vulkan_core.h:481
void(VKAPI_PTR * PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:5674
GLsizei stride
Definition: glext.h:6488
Type
Type of JSON value.
Definition: rapidjson.h:603
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *pImageIndex)
VkResult vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges) const
Definition: vulkan.hpp:1779
bool operator==(GraphicsPipelineCreateInfo const &rhs) const
Definition: vulkan.hpp:22056
void vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT *pMultisampleProperties) const
Definition: vulkan.hpp:2049
void(VKAPI_PTR * PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue)
Definition: vulkan_core.h:6902
bool operator==(BindImageMemoryInfo const &rhs) const
Definition: vulkan.hpp:13058
PhysicalDeviceProtectedMemoryFeatures(VkPhysicalDeviceProtectedMemoryFeatures const &rhs)
Definition: vulkan.hpp:14821
Definition: vulkan_core.h:1000
Result mergeValidationCachesEXT(ValidationCacheEXT dstCache, uint32_t srcCacheCount, const ValidationCacheEXT *pSrcCaches, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:14576
Definition: vulkan_core.h:568
void(VKAPI_PTR * PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange *pRanges)
Definition: vulkan_core.h:2840
PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2
Definition: vulkan.hpp:42090
StructureType sType
Definition: vulkan.hpp:27880
void destroyDescriptorSetLayout(DescriptorSetLayout descriptorSetLayout, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
MemoryDedicatedAllocateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:14539
PhysicalDeviceSparseProperties sparseProperties
Definition: vulkan.hpp:22373
SubpassSampleLocationsEXT(VkSubpassSampleLocationsEXT const &rhs)
Definition: vulkan.hpp:22671
PhysicalDeviceProtectedMemoryFeatures & setPNext(void *pNext_)
Definition: vulkan.hpp:14831
void getMemoryProperties2(PhysicalDeviceMemoryProperties2 *pMemoryProperties, Dispatch const &d=Dispatch()) const
DeviceMemory memory
Definition: vulkan.hpp:20986
SparseImageOpaqueMemoryBindInfo(VkSparseImageOpaqueMemoryBindInfo const &rhs)
Definition: vulkan.hpp:21148
PipelineColorBlendAttachmentState & setDstColorBlendFactor(BlendFactor dstColorBlendFactor_)
Definition: vulkan.hpp:18965
Definition: vulkan_core.h:4546
DisplayModeParametersKHR & operator=(VkDisplayModeParametersKHR const &rhs)
Definition: vulkan.hpp:6547
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pRectCount, VkRect2D *pRects)
Definition: vulkan_core.h:4762
Definition: vulkan_core.h:461
uint32_t queueIndex
Definition: vulkan.hpp:17599
Definition: vulkan_core.h:508
Definition: vulkan_core.h:1474
VertexInputBindingDivisorDescriptionEXT(uint32_t binding_=0, uint32_t divisor_=0)
Definition: vulkan.hpp:7074
SurfaceCounterFlagsEXT supportedSurfaceCounters
Definition: vulkan.hpp:27333
Definition: vulkan_core.h:1002
void vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties) const
Definition: vulkan.hpp:2039
PhysicalDeviceDiscardRectanglePropertiesEXT & operator=(VkPhysicalDeviceDiscardRectanglePropertiesEXT const &rhs)
Definition: vulkan.hpp:14078
bool operator==(DeviceGroupSubmitInfo const &rhs) const
Definition: vulkan.hpp:13370
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties *pImageFormatProperties)
Definition: vulkan_core.h:2726
void getRenderAreaGranularity(RenderPass renderPass, Extent2D *pGranularity, Dispatch const &d=Dispatch()) const
Framebuffer & operator=(std::nullptr_t)
Definition: vulkan.hpp:3834
DeviceGroupRenderPassBeginInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:13188
Definition: vulkan_core.h:703
VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers)
ObjectTableEntryNVX & operator=(VkObjectTableEntryNVX const &rhs)
Definition: vulkan.hpp:24909
uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
Definition: vulkan.hpp:16101
VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets)
bool operator!=(Instance const &rhs) const
Definition: vulkan.hpp:37508
bool operator==(WriteDescriptorSet const &rhs) const
Definition: vulkan.hpp:8997
int32_t x
Definition: vulkan.hpp:4799
DeviceEventTypeEXT
Definition: vulkan.hpp:27454
const char * pApplicationName
Definition: vulkan.hpp:8669
void * pUserData
Definition: vulkan.hpp:23817
VULKAN_HPP_CONSTEXPR CommandBuffer(std::nullptr_t)
Definition: vulkan.hpp:29638
Result begin(const CommandBufferBeginInfo *pBeginInfo, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:555
void(VKAPI_PTR * PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
Definition: vulkan_core.h:2849
void destroy(T t)
Definition: vulkan.hpp:1062
BufferMemoryRequirementsInfo2(VkBufferMemoryRequirementsInfo2 const &rhs)
Definition: vulkan.hpp:14295
WriteDescriptorSet & setPNext(const void *pNext_)
Definition: vulkan.hpp:8938
bool operator<(Pipeline const &rhs) const
Definition: vulkan.hpp:3180
uint32_t queueCount
Definition: vulkan.hpp:17407
bool operator!=(EventCreateInfo const &rhs) const
Definition: vulkan.hpp:10446
AllocationCallbacks & setPfnAllocation(PFN_vkAllocationFunction pfnAllocation_)
Definition: vulkan.hpp:5251
RenderPassBeginInfo & setClearValueCount(uint32_t clearValueCount_)
Definition: vulkan.hpp:10359
VkResult vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pRectCount, VkRect2D *pRects) const
Definition: vulkan.hpp:2053
StencilOpState(VkStencilOpState const &rhs)
Definition: vulkan.hpp:7765
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures)
Definition: vulkan_core.h:4367
Definition: vulkan_core.h:611
const T * begin() const
Definition: vulkan.hpp:300
SubmitInfo & setPSignalSemaphores(const Semaphore *pSignalSemaphores_)
Definition: vulkan.hpp:31013
void(VKAPI_PTR * PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue *pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange *pRanges)
Definition: vulkan_core.h:2841
Definition: vulkan_core.h:619
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo, VkExternalFenceProperties *pExternalFenceProperties)
Definition: vulkan_core.h:4382
Bool32 shaderStorageImageExtendedFormats
Definition: vulkan.hpp:6246
bool operator!() const
Definition: vulkan.hpp:4675
void(VKAPI_PTR * PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData)
Definition: vulkan_core.h:6909
SwapchainCreateInfoKHR(VkSwapchainCreateInfoKHR const &rhs)
Definition: vulkan.hpp:27936
PFN_vkTrimCommandPool vkTrimCommandPool
Definition: vulkan.hpp:42181
const void * pNext
Definition: vulkan.hpp:22788
void vkDebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char *pLayerPrefix, const char *pMessage) const
Definition: vulkan.hpp:1607
VkResult(VKAPI_PTR * PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT *pDisplayPowerInfo)
Definition: vulkan_core.h:6542
CommandBuffer & operator=(std::nullptr_t)
Definition: vulkan.hpp:29654
bool operator!=(ImageMemoryBarrier const &rhs) const
Definition: vulkan.hpp:20025
float ycoeff
Definition: vulkan.hpp:6988
Definition: vulkan_core.h:5767
VULKAN_HPP_CONSTEXPR Device()
Definition: vulkan.hpp:31329
bool operator!=(BindBufferMemoryDeviceGroupInfo const &rhs) const
Definition: vulkan.hpp:12993
ImageCreateInfo & setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_)
Definition: vulkan.hpp:21733
Image image
Definition: vulkan.hpp:14580
ObjectTableVertexBufferEntryNVX & operator=(VkObjectTableVertexBufferEntryNVX const &rhs)
Definition: vulkan.hpp:25090
Bool32 shaderSampledImageArrayDynamicIndexing
Definition: vulkan.hpp:6251
Definition: vulkan_core.h:557
ApplicationInfo & operator=(VkApplicationInfo const &rhs)
Definition: vulkan.hpp:8602
ValidationCacheCreateFlagBitsEXT
Definition: vulkan.hpp:2648
Definition: vulkan_core.h:694
bool operator!=(PhysicalDeviceProtectedMemoryProperties const &rhs) const
Definition: vulkan.hpp:14910
QueueFlags queueFlags
Definition: vulkan.hpp:17268
bool operator!=(DisplayModePropertiesKHR const &rhs) const
Definition: vulkan.hpp:6598
VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines)
Definition: vulkan_core.h:837
PFN_vkCmdPushConstants vkCmdPushConstants
Definition: vulkan.hpp:41892
StructureType sType
Definition: vulkan.hpp:10304
bool operator==(PhysicalDevicePushDescriptorPropertiesKHR const &rhs) const
Definition: vulkan.hpp:11993
void vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1667
RenderPassSampleLocationsBeginInfoEXT(uint32_t attachmentInitialSampleLocationsCount_=0, const AttachmentSampleLocationsEXT *pAttachmentInitialSampleLocations_=nullptr, uint32_t postSubpassSampleLocationsCount_=0, const SubpassSampleLocationsEXT *pPostSubpassSampleLocations_=nullptr)
Definition: vulkan.hpp:22716
VULKAN_HPP_CONSTEXPR DeviceMemory(std::nullptr_t)
Definition: vulkan.hpp:2679
Definition: vulkan_core.h:838
GLuint GLuint end
Definition: glext.h:6292
Result createRenderPass(const RenderPassCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, RenderPass *pRenderPass, Dispatch const &d=Dispatch()) const
SamplerCreateInfo & operator=(VkSamplerCreateInfo const &rhs)
Definition: vulkan.hpp:10078
PFN_vkCmdDraw vkCmdDraw
Definition: vulkan.hpp:41877
bool operator!=(SubpassDependency const &rhs) const
Definition: vulkan.hpp:23280
StructureType sType
Definition: vulkan.hpp:19528
VkResult(VKAPI_PTR * PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchain)
Definition: vulkan_core.h:4755
Definition: vulkan_core.h:549
Definition: vulkan_core.h:575
ImportMemoryHostPointerInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:26007
Definition: vulkan_core.h:930
bool operator!=(SparseBufferMemoryBindInfo const &rhs) const
Definition: vulkan.hpp:21128
VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFramebuffer *pFramebuffer)
Definition: vulkan_core.h:600
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties)
uint32_t attachmentCount
Definition: vulkan.hpp:28595
VertexInputAttributeDescription & setFormat(Format format_)
Definition: vulkan.hpp:8254
ViewportSwizzleNV & operator=(VkViewportSwizzleNV const &rhs)
Definition: vulkan.hpp:28131
PFN_vkUnregisterObjectsNVX vkUnregisterObjectsNVX
Definition: vulkan.hpp:42184
VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6742
ImageViewUsageCreateInfo & setUsage(ImageUsageFlags usage_)
Definition: vulkan.hpp:18609
PipelineBindPoint pipelineBindPoint
Definition: vulkan.hpp:24753
ExportFenceCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:26827
uint32_t discreteQueuePriorities
Definition: vulkan.hpp:22327
Definition: vulkan_core.h:6209
void vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties) const
Definition: vulkan.hpp:1963
ViewportSwizzleNV & setY(ViewportCoordinateSwizzleNV y_)
Definition: vulkan.hpp:28142
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties)
Definition: vulkan_core.h:2727
bool operator!=(MemoryDedicatedAllocateInfo const &rhs) const
Definition: vulkan.hpp:14570
ImageMemoryRequirementsInfo2 & operator=(VkImageMemoryRequirementsInfo2 const &rhs)
Definition: vulkan.hpp:14357
bool operator==(PhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15721
Buffer sequencesIndexBuffer
Definition: vulkan.hpp:37424
Flags< DebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageSeverityFlagsEXT > DebugUtilsMessageSeverityFlagsEXT
Definition: vulkan.hpp:29225
void destroyCommandPool(CommandPool commandPool, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
PipelineDepthStencilStateCreateInfo & setMaxDepthBounds(float maxDepthBounds_)
Definition: vulkan.hpp:9928
PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures
Definition: vulkan.hpp:42086
SparseImageMemoryBind & setOffset(Offset3D offset_)
Definition: vulkan.hpp:21020
DeviceGroupPresentModeFlagBitsKHR
Definition: vulkan.hpp:27702
StructureType sType
Definition: vulkan.hpp:29351
ImageCreateInfo & setImageType(ImageType imageType_)
Definition: vulkan.hpp:21679
uint32_t memoryTypeCount
Definition: vulkan.hpp:17726
bool operator!=(ExportFenceCreateInfo const &rhs) const
Definition: vulkan.hpp:26851
VkResult(VKAPI_PTR * PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t *pDataSize, void *pData)
Definition: vulkan_core.h:7219
void destroyFramebuffer(Framebuffer framebuffer, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
void init(Instance instance, Device device=Device())
Definition: vulkan.hpp:42198
uint32_t enabledExtensionCount
Definition: vulkan.hpp:17524
Definition: vulkan_core.h:1298
PhysicalDeviceExternalImageFormatInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:25434
ImageMemoryBarrier & setSubresourceRange(ImageSubresourceRange subresourceRange_)
Definition: vulkan.hpp:20000
DeviceGroupPresentInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:27779
PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion
Definition: vulkan.hpp:41957
Definition: vulkan_core.h:1194
uint32_t queueFamilyIndexCount
Definition: vulkan.hpp:18136
Result createDescriptorPool(const DescriptorPoolCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, DescriptorPool *pDescriptorPool, Dispatch const &d=Dispatch()) const
ClearValue & setColor(ClearColorValue color_)
Definition: vulkan.hpp:5721
DebugMarkerObjectNameInfoEXT(DebugReportObjectTypeEXT objectType_=DebugReportObjectTypeEXT::eUnknown, uint64_t object_=0, const char *pObjectName_=nullptr)
Definition: vulkan.hpp:23865
BindSparseInfo & setPImageOpaqueBinds(const SparseImageOpaqueMemoryBindInfo *pImageOpaqueBinds_)
Definition: vulkan.hpp:21321
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties *pFormatProperties)
Definition: vulkan_core.h:2725
DrawIndirectCommand & setVertexCount(uint32_t vertexCount_)
Definition: vulkan.hpp:6324
VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t *pDynamicOffsets)
Definition: vulkan_core.h:863
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo)
bool operator==(ImageSubresourceRange const &rhs) const
Definition: vulkan.hpp:19906
void getQueueFamilyProperties2KHR(uint32_t *pQueueFamilyPropertyCount, QueueFamilyProperties2 *pQueueFamilyProperties, Dispatch const &d=Dispatch()) const
DebugUtilsObjectTagInfoEXT & operator=(VkDebugUtilsObjectTagInfoEXT const &rhs)
Definition: vulkan.hpp:17008
StructureType sType
Definition: vulkan.hpp:14479
VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
Definition: vulkan_core.h:1368
Definition: vulkan.hpp:19271
DescriptorSetAllocateInfo & operator=(VkDescriptorSetAllocateInfo const &rhs)
Definition: vulkan.hpp:9319
void * pNext
Definition: vulkan.hpp:23370
SwapchainCounterCreateInfoEXT(SurfaceCounterFlagsEXT surfaceCounters_=SurfaceCounterFlagsEXT())
Definition: vulkan.hpp:27339
uint32_t enabledLayerCount
Definition: vulkan.hpp:17522
bool operator!=(PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs) const
Definition: vulkan.hpp:15096
PhysicalDeviceExternalFenceInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:26770
PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask
Definition: vulkan.hpp:41909
const void * pData
Definition: vulkan.hpp:5609
VkResult vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pSurfaceFormatCount, VkSurfaceFormatKHR *pSurfaceFormats) const
Definition: vulkan.hpp:2109
StructureType sType
Definition: vulkan.hpp:22785
bool operator==(SparseImageMemoryRequirements const &rhs) const
Definition: vulkan.hpp:20807
PushConstantRange & setOffset(uint32_t offset_)
Definition: vulkan.hpp:18367
void(VKAPI_PTR * PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2804
Definition: vulkan_core.h:6657
Definition: vulkan_core.h:911
bool operator<(DebugUtilsMessengerEXT const &rhs) const
Definition: vulkan.hpp:4725
bool operator<(RenderPass const &rhs) const
Definition: vulkan.hpp:3917
void vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies) const
Definition: vulkan.hpp:2341
SampleLocationsInfoEXT & setSampleLocationGridSize(Extent2D sampleLocationGridSize_)
Definition: vulkan.hpp:22562
Result debugMarkerSetObjectNameEXT(const DebugMarkerObjectNameInfoEXT *pNameInfo, Dispatch const &d=Dispatch()) const
PhysicalDeviceLimits limits
Definition: vulkan.hpp:22372
uint32_t postSubpassSampleLocationsCount
Definition: vulkan.hpp:22791
ExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan.hpp:26048
Definition: vulkan_core.h:1075
const PipelineDepthStencilStateCreateInfo * pDepthStencilState
Definition: vulkan.hpp:22098
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingUniformTexelBufferUpdateAfterBind(Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_)
Definition: vulkan.hpp:15938
Definition: vulkan_core.h:505
Result mergePipelineCaches(PipelineCache dstCache, uint32_t srcCacheCount, const PipelineCache *pSrcCaches, Dispatch const &d=Dispatch()) const
AccessFlags srcAccessMask
Definition: vulkan.hpp:23289
VkRenderPass m_renderPass
Definition: vulkan.hpp:3940
ImageLayout newLayout
Definition: vulkan.hpp:20038
DeviceGroupRenderPassBeginInfo(uint32_t deviceMask_=0, uint32_t deviceRenderAreaCount_=0, const Rect2D *pDeviceRenderAreas_=nullptr)
Definition: vulkan.hpp:13171
PhysicalDeviceFeatures2 & setPNext(void *pNext_)
Definition: vulkan.hpp:11919
ValidationCacheCreateInfoEXT(VkValidationCacheCreateInfoEXT const &rhs)
Definition: vulkan.hpp:15221
AttachmentSampleLocationsEXT & setAttachmentIndex(uint32_t attachmentIndex_)
Definition: vulkan.hpp:22630
VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:994
StencilOpState & setReference(uint32_t reference_)
Definition: vulkan.hpp:7811
DeviceGeneratedCommandsFeaturesNVX & setComputeBindingPointSupport(Bool32 computeBindingPointSupport_)
Definition: vulkan.hpp:11706
uint32_t dynamicStateCount
Definition: vulkan.hpp:16744
Definition: vulkan_core.h:899
VkBufferView m_bufferView
Definition: vulkan.hpp:2935
#define VULKAN_HPP_INLINE
Definition: vulkan.hpp:78
Definition: vulkan_core.h:482
PipelineVertexInputStateCreateInfo(VkPipelineVertexInputStateCreateInfo const &rhs)
Definition: vulkan.hpp:9389
DeviceQueueGlobalPriorityCreateInfoEXT & setGlobalPriority(QueueGlobalPriorityEXT globalPriority_)
Definition: vulkan.hpp:29185
SparseBufferMemoryBindInfo & operator=(VkSparseBufferMemoryBindInfo const &rhs)
Definition: vulkan.hpp:21093
StencilOp
Definition: vulkan.hpp:7740
bool operator==(SparseImageFormatProperties2 const &rhs) const
Definition: vulkan.hpp:20836
VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth)
Extent2D sampleLocationGridSize
Definition: vulkan.hpp:22606
VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
const SparseMemoryBind * pBinds
Definition: vulkan.hpp:21135
Definition: vulkan_core.h:143
VkResult vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t *pDisplayCount, VkDisplayKHR *pDisplays) const
Definition: vulkan.hpp:1861
uint32_t objectCount
Definition: vulkan.hpp:17214
Definition: vulkan_core.h:4579
BufferImageCopy(VkBufferImageCopy const &rhs)
Definition: vulkan.hpp:20305
Definition: vulkan_core.h:860
Rect2D renderArea
Definition: vulkan.hpp:10399
VULKAN_HPP_CONSTEXPR PipelineCache(std::nullptr_t)
Definition: vulkan.hpp:3952
VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo)
SurfaceTransformFlagBitsKHR transform
Definition: vulkan.hpp:23645
CommandPoolCreateFlags flags
Definition: vulkan.hpp:21523
bool operator==(SparseImageOpaqueMemoryBindInfo const &rhs) const
Definition: vulkan.hpp:21181
ImageResolve(VkImageResolve const &rhs)
Definition: vulkan.hpp:20391
ImageViewUsageCreateInfo & operator=(VkImageViewUsageCreateInfo const &rhs)
Definition: vulkan.hpp:18598
PipelineInputAssemblyStateCreateFlagBits
Definition: vulkan.hpp:2434
DeviceGeneratedCommandsFeaturesNVX(Bool32 computeBindingPointSupport_=0)
Definition: vulkan.hpp:11685
PipelineRasterizationStateCreateInfo & setLineWidth(float lineWidth_)
Definition: vulkan.hpp:9790
Definition: vulkan_core.h:4594
Definition: vulkan_core.h:1258
PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR
Definition: vulkan.hpp:42114
Definition: vulkan_core.h:6651
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties)
Definition: vulkan_core.h:5011
SamplerYcbcrConversionCreateInfo(Format format_=Format::eUndefined, SamplerYcbcrModelConversion ycbcrModel_=SamplerYcbcrModelConversion::eRgbIdentity, SamplerYcbcrRange ycbcrRange_=SamplerYcbcrRange::eItuFull, ComponentMapping components_=ComponentMapping(), ChromaLocation xChromaOffset_=ChromaLocation::eCositedEven, ChromaLocation yChromaOffset_=ChromaLocation::eCositedEven, Filter chromaFilter_=Filter::eNearest, Bool32 forceExplicitReconstruction_=0)
Definition: vulkan.hpp:28801
ShaderModuleValidationCacheCreateInfoEXT(VkShaderModuleValidationCacheCreateInfoEXT const &rhs)
Definition: vulkan.hpp:15292
IndirectCommandsLayoutUsageFlagBitsNVX
Definition: vulkan.hpp:24483
bool operator!=(PhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs) const
Definition: vulkan.hpp:15617
Definition: vulkan_core.h:252
SwapchainCreateFlagBitsKHR
Definition: vulkan.hpp:27888
DeviceSize offset
Definition: vulkan.hpp:9227
Definition: vulkan_core.h:230
Flags< ExternalMemoryFeatureFlagBitsNV, VkExternalMemoryFeatureFlagsNV > ExternalMemoryFeatureFlagsNV
Definition: vulkan.hpp:24299
const void * pNext
Definition: vulkan.hpp:27387
DebugUtilsObjectTagInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:17013
Rect2D dstRect
Definition: vulkan.hpp:10756
ExternalSemaphoreHandleTypeFlagBits
Definition: vulkan.hpp:26172
StructureType sType
Definition: vulkan.hpp:25464
Flags< AttachmentDescriptionFlagBits, VkAttachmentDescriptionFlags > AttachmentDescriptionFlags
Definition: vulkan.hpp:22901
bool operator!=(PhysicalDeviceProtectedMemoryFeatures const &rhs) const
Definition: vulkan.hpp:14855
bool operator<(ShaderModule const &rhs) const
Definition: vulkan.hpp:3113
SwapchainCreateInfoKHR & setImageColorSpace(ColorSpaceKHR imageColorSpace_)
Definition: vulkan.hpp:27976
Definition: vulkan_core.h:3802
void * pNext
Definition: vulkan.hpp:15050
bool operator==(DedicatedAllocationBufferCreateInfoNV const &rhs) const
Definition: vulkan.hpp:11421
Definition: vulkan_core.h:672
Definition: vulkan_core.h:861
bool operator==(ImageView const &rhs) const
Definition: vulkan.hpp:3036
ExternalMemoryImageCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:25566
SpecializationInfo(VkSpecializationInfo const &rhs)
Definition: vulkan.hpp:5554
VkResult vkResetEvent(VkDevice device, VkEvent event) const
Definition: vulkan.hpp:2289
IncompatibleDisplayKHRError(std::string const &message)
Definition: vulkan.hpp:807
bool operator!=(DisplayModeParametersKHR const &rhs) const
Definition: vulkan.hpp:6575
PipelineRasterizationStateCreateInfo & setFlags(PipelineRasterizationStateCreateFlags flags_)
Definition: vulkan.hpp:9730
bool operator==(DebugMarkerMarkerInfoEXT const &rhs) const
Definition: vulkan.hpp:11309
bool operator!=(ShaderModule const &rhs) const
Definition: vulkan.hpp:3108
bool operator!=(PhysicalDeviceLimits const &rhs) const
Definition: vulkan.hpp:22226
PipelineDynamicStateCreateFlags flags
Definition: vulkan.hpp:16743
DescriptorUpdateTemplateType
Definition: vulkan.hpp:16749
VULKAN_HPP_CONSTEXPR Pipeline()
Definition: vulkan.hpp:3144
VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines)
PhysicalDeviceSparseImageFormatInfo2(VkPhysicalDeviceSparseImageFormatInfo2 const &rhs)
Definition: vulkan.hpp:22448
PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults
Definition: vulkan.hpp:41869
bool operator!=(DescriptorPoolCreateInfo const &rhs) const
Definition: vulkan.hpp:23153
SwapchainCounterCreateInfoEXT(VkSwapchainCounterCreateInfoEXT const &rhs)
Definition: vulkan.hpp:27344
DebugUtilsLabelEXT * pQueueLabels
Definition: vulkan.hpp:17211
VkResult vkCreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion) const
Definition: vulkan.hpp:1545
bool operator==(ImagePlaneMemoryRequirementsInfo const &rhs) const
Definition: vulkan.hpp:20725
void * pNext
Definition: vulkan.hpp:14482
ExternalMemoryImageCreateInfoNV & setHandleTypes(ExternalMemoryHandleTypeFlagsNV handleTypes_)
Definition: vulkan.hpp:24139
Definition: vulkan_core.h:4545
GLenum GLsizei GLsizei GLsizei GLsizei layers
Definition: glext.h:12731
VkResult(VKAPI_PTR * PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR *pCapabilities)
Definition: vulkan_core.h:4898
Definition: vulkan_core.h:3671
uint8_t driverUUID[VK_UUID_SIZE]
Definition: vulkan.hpp:12173
bool operator!=(ObjectTableEntryNVX const &rhs) const
Definition: vulkan.hpp:24937
GLuint sampler
Definition: glext.h:7950
DeviceGeneratedCommandsFeaturesNVX & setPNext(const void *pNext_)
Definition: vulkan.hpp:11700
Definition: vulkan.hpp:6890
T value
Definition: vulkan.hpp:901
PhysicalDeviceDiscardRectanglePropertiesEXT & setPNext(void *pNext_)
Definition: vulkan.hpp:14083
Definition: vulkan_core.h:1933
BufferUsageFlags usage
Definition: vulkan.hpp:18134
bool operator==(FramebufferCreateInfo const &rhs) const
Definition: vulkan.hpp:10591
Bool32 textureCompressionETC2
Definition: vulkan.hpp:6237
const void * pNext
Definition: vulkan.hpp:17596
uint32_t x
Definition: vulkan.hpp:6505
Definition: video4linux2.c:51
bool operator!=(SparseImageMemoryRequirements const &rhs) const
Definition: vulkan.hpp:20816
Definition: vulkan_core.h:1086
bool operator==(XYColorEXT const &rhs) const
Definition: vulkan.hpp:6754
void vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const
Definition: vulkan.hpp:1405
void setDiscardRectangleEXT(uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const Rect2D *pDiscardRectangles, Dispatch const &d=Dispatch()) const
Definition: vulkan.hpp:26933
const void * pNext
Definition: vulkan.hpp:29212
void endDebugUtilsLabelEXT(Dispatch const &d=Dispatch()) const
PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment
Definition: vulkan.hpp:42040
bool operator!=(ExternalMemoryImageCreateInfoNV const &rhs) const
Definition: vulkan.hpp:24157
GLintptr offset
Definition: glext.h:6560
Result invalidateMappedMemoryRanges(uint32_t memoryRangeCount, const MappedMemoryRange *pMemoryRanges, Dispatch const &d=Dispatch()) const
Flags< DisplaySurfaceCreateFlagBitsKHR, VkDisplaySurfaceCreateFlagsKHR > DisplaySurfaceCreateFlagsKHR
Definition: vulkan.hpp:2524
Definition: vulkan.hpp:3543
bool operator==(DescriptorSetLayout const &rhs) const
Definition: vulkan.hpp:3438
PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR
Definition: vulkan.hpp:41850
Definition: vulkan_core.h:4555
ShaderStageFlags stageFlags
Definition: vulkan.hpp:18246
Definition: vulkan_core.h:510
CopyDescriptorSet & setDstSet(DescriptorSet dstSet_)
Definition: vulkan.hpp:9079
Definition: vulkan_core.h:1097
void getFeatures2(PhysicalDeviceFeatures2 *pFeatures, Dispatch const &d=Dispatch()) const
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties)
Definition: vulkan_core.h:2728
Definition: vulkan_core.h:1184
BindBufferMemoryDeviceGroupInfo & operator=(VkBindBufferMemoryDeviceGroupInfo const &rhs)
Definition: vulkan.hpp:12957
MappedMemoryRange & setPNext(const void *pNext_)
Definition: vulkan.hpp:8860
Definition: vulkan_core.h:655
uint32_t imageMipTailFirstLod
Definition: vulkan.hpp:20822
DescriptorBufferInfo & setOffset(DeviceSize offset_)
Definition: vulkan.hpp:5360
PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR
Definition: vulkan.hpp:41990
SampleCountFlags framebufferColorSampleCounts
Definition: vulkan.hpp:22311
VkResult vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass) const
Definition: vulkan.hpp:1533
VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos)
StructureType sType
Definition: vulkan.hpp:20681
EventCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:10422
VkResult vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 *pSupported) const
Definition: vulkan.hpp:2117
PhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]
Definition: vulkan.hpp:37456
IndirectCommandsLayoutCreateInfoNVX & setPipelineBindPoint(PipelineBindPoint pipelineBindPoint_)
Definition: vulkan.hpp:24704
bool operator==(SparseBufferMemoryBindInfo const &rhs) const
Definition: vulkan.hpp:21121
Definition: vulkan.hpp:17683
DeviceGroupCommandBufferBeginInfo & setDeviceMask(uint32_t deviceMask_)
Definition: vulkan.hpp:13267
Definition: vulkan_core.h:532
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo)
uint32_t subPixelPrecisionBits
Definition: vulkan.hpp:22286
FenceGetFdInfoKHR(Fence fence_=Fence(), ExternalFenceHandleTypeFlagBits handleType_=ExternalFenceHandleTypeFlagBits::eOpaqueFd)
Definition: vulkan.hpp:26935
uint32_t commandBufferCount
Definition: vulkan.hpp:10310
DeviceGeneratedCommandsLimitsNVX & setPNext(const void *pNext_)
Definition: vulkan.hpp:11759
GraphicsPipelineCreateInfo & setPRasterizationState(const PipelineRasterizationStateCreateInfo *pRasterizationState_)
Definition: vulkan.hpp:21991
Definition: vulkan_core.h:1430
bool operator==(BufferMemoryRequirementsInfo2 const &rhs) const
Definition: vulkan.hpp:14322
const DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries
Definition: vulkan.hpp:16865
const void * pNext
Definition: vulkan.hpp:25540
VkResult(VKAPI_PTR * PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence *pFences, VkBool32 waitAll, uint64_t timeout)
Definition: vulkan_core.h:2760
DescriptorSetLayoutBindingFlagsCreateInfoEXT(uint32_t bindingCount_=0, const DescriptorBindingFlagsEXT *pBindingFlags_=nullptr)
Definition: vulkan.hpp:29473
StructureType sType
Definition: vulkan.hpp:22397
void(VKAPI_PTR * PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
Definition: vulkan_core.h:5981
Viewport(VkViewport const &rhs)
Definition: vulkan.hpp:4987
uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers
Definition: vulkan.hpp:16094
BufferMemoryRequirementsInfo2(Buffer buffer_=Buffer())
Definition: vulkan.hpp:14290
SamplerCreateInfo & setMipmapMode(SamplerMipmapMode mipmapMode_)
Definition: vulkan.hpp:10107
VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData)
GLbitfield flags
Definition: glext.h:7828
Flags< PipelineCoverageToColorStateCreateFlagBitsNV, VkPipelineCoverageToColorStateCreateFlagsNV > PipelineCoverageToColorStateCreateFlagsNV
Definition: vulkan.hpp:2640
Definition: vulkan_core.h:1419
Definition: vulkan_core.h:632
SubpassDependency & setSrcAccessMask(AccessFlags srcAccessMask_)
Definition: vulkan.hpp:23246
Definition: vulkan_core.h:1487
Definition: vulkan_core.h:2138
void vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const
Definition: vulkan.hpp:1237
Definition: vulkan_core.h:985
bool operator==(TextureLODGatherFormatPropertiesAMD const &rhs) const
Definition: vulkan.hpp:14738
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(uint32_t *pPropertyCount, VkLayerProperties *pProperties)
bool operator!=(PhysicalDeviceProperties2 const &rhs) const
Definition: vulkan.hpp:22391
Definition: vulkan_core.h:1574
VkResult(VKAPI_PTR * PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *pImageIndex)
Definition: vulkan_core.h:4758
uint32_t levelCount
Definition: vulkan.hpp:19922
VkResult(VKAPI_PTR * PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorPool *pDescriptorPool)
Definition: vulkan_core.h:2795
PipelineRasterizationStateCreateInfo(PipelineRasterizationStateCreateFlags flags_=PipelineRasterizationStateCreateFlags(), Bool32 depthClampEnable_=0, Bool32 rasterizerDiscardEnable_=0, PolygonMode polygonMode_=PolygonMode::eFill, CullModeFlags cullMode_=CullModeFlags(), FrontFace frontFace_=FrontFace::eCounterClockwise, Bool32 depthBiasEnable_=0, float depthBiasConstantFactor_=0, float depthBiasClamp_=0, float depthBiasSlopeFactor_=0, float lineWidth_=0)
Definition: vulkan.hpp:9699
bool operator<(Framebuffer const &rhs) const
Definition: vulkan.hpp:3850
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:1195
Result createImageView(const ImageViewCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, ImageView *pView, Dispatch const &d=Dispatch()) const
AttachmentReference(uint32_t attachment_=0, ImageLayout layout_=ImageLayout::eUndefined)
Definition: vulkan.hpp:7204
SamplerReductionModeCreateInfoEXT & setReductionMode(SamplerReductionModeEXT reductionMode_)
Definition: vulkan.hpp:28672
DebugUtilsLabelEXT & setColor(std::array< float, 4 > color_)
Definition: vulkan.hpp:15487
DeviceGroupPresentInfoKHR & setMode(DeviceGroupPresentModeFlagBitsKHR mode_)
Definition: vulkan.hpp:27797
Definition: vulkan_core.h:3758
PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT
Definition: vulkan.hpp:42179
Definition: vulkan_core.h:6494
DispatchIndirectCommand(uint32_t x_=0, uint32_t y_=0, uint32_t z_=0)
Definition: vulkan.hpp:6453
void vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const
Definition: vulkan.hpp:1373
bool operator!=(SemaphoreGetFdInfoKHR const &rhs) const
Definition: vulkan.hpp:26437
CommandBufferAllocateInfo & setCommandBufferCount(uint32_t commandBufferCount_)
Definition: vulkan.hpp:10278
Definition: vulkan_core.h:614
ImageCreateFlags flags
Definition: vulkan.hpp:21785
VertexInputAttributeDescription & setOffset(uint32_t offset_)
Definition: vulkan.hpp:8260
#define VK_NULL_HANDLE
Definition: vulkan_core.h:51
VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
VkImageView m_imageView
Definition: vulkan.hpp:3069
DeviceSize bufferOffset
Definition: vulkan.hpp:20371
PhysicalDeviceConservativeRasterizationPropertiesEXT(float primitiveOverestimationSize_=0, float maxExtraPrimitiveOverestimationSize_=0, float extraPrimitiveOverestimationSizeGranularity_=0, Bool32 primitiveUnderestimation_=0, Bool32 conservativePointAndLineRasterization_=0, Bool32 degenerateTrianglesRasterized_=0, Bool32 degenerateLinesRasterized_=0, Bool32 fullyCoveredFragmentShaderInputVariable_=0, Bool32 conservativeRasterizationPostDepthCoverage_=0)
Definition: vulkan.hpp:15633
void destroySurfaceKHR(SurfaceKHR surface, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
CommandBufferInheritanceInfo & setFramebuffer(Framebuffer framebuffer_)
Definition: vulkan.hpp:19481
SparseImageFormatFlags flags
Definition: vulkan.hpp:20796
VkResult(VKAPI_PTR * PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkLayerProperties *pProperties)
Definition: vulkan_core.h:2737
VkResult(VKAPI_PTR * PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkValidationCacheEXT *pValidationCache)
Definition: vulkan_core.h:7216
SamplerMipmapMode
Definition: vulkan.hpp:7593
uint32_t subpass
Definition: vulkan.hpp:19533
Definition: vulkan_core.h:473
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void *pHostPointer, VkMemoryHostPointerPropertiesEXT *pMemoryHostPointerProperties)
VULKAN_HPP_INLINE std::error_code make_error_code(Result e)
Definition: vulkan.hpp:610
ResultValue(Result r, T &v)
Definition: vulkan.hpp:890
VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)
Definition: vulkan_core.h:1540
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo, VkExternalSemaphoreProperties *pExternalSemaphoreProperties)
BufferCopy & setDstOffset(DeviceSize dstOffset_)
Definition: vulkan.hpp:5449
VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
ImageTiling tiling
Definition: vulkan.hpp:22524
CompositeAlphaFlagBitsKHR
Definition: vulkan.hpp:23440
DebugUtilsObjectNameInfoEXT & operator=(VkDebugUtilsObjectNameInfoEXT const &rhs)
Definition: vulkan.hpp:16933
VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorUpdateTemplate(VkDescriptorUpdateTemplate descriptorUpdateTemplate)
Definition: vulkan.hpp:4157
Flags< DisplayPlaneAlphaFlagBitsKHR, VkDisplayPlaneAlphaFlagsKHR > DisplayPlaneAlphaFlagsKHR
Definition: vulkan.hpp:23383
const char * pObjectName
Definition: vulkan.hpp:16988
StructureType sType
Definition: vulkan.hpp:15791
bool operator==(ShaderModuleValidationCacheCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:15319
PhysicalDeviceFeatures & setFullDrawIndexUint32(Bool32 fullDrawIndexUint32_)
Definition: vulkan.hpp:5824
Definition: vulkan_core.h:6190
PipelineViewportStateCreateFlagBits
Definition: vulkan.hpp:2422
DescriptorBufferInfo(VkDescriptorBufferInfo const &rhs)
Definition: vulkan.hpp:5344
PhysicalDeviceExternalSemaphoreInfo(VkPhysicalDeviceExternalSemaphoreInfo const &rhs)
Definition: vulkan.hpp:26215
ExternalMemoryHandleTypeFlags compatibleHandleTypes
Definition: vulkan.hpp:26106
Definition: vulkan_core.h:1223
void vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const
Definition: vulkan.hpp:2317
RenderPassSampleLocationsBeginInfoEXT & setPPostSubpassSampleLocations(const SubpassSampleLocationsEXT *pPostSubpassSampleLocations_)
Definition: vulkan.hpp:22758
Definition: vulkan.hpp:6719
Definition: vulkan_core.h:697
VkResult(VKAPI_PTR * PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos)
Definition: vulkan_core.h:5699
Definition: vulkan_core.h:1393
GraphicsPipelineCreateInfo & setBasePipelineIndex(int32_t basePipelineIndex_)
Definition: vulkan.hpp:22045
DedicatedAllocationImageCreateInfoNV & setDedicatedAllocation(Bool32 dedicatedAllocation_)
Definition: vulkan.hpp:11355
Result getPresentRectanglesKHR(SurfaceKHR surface, uint32_t *pRectCount, Rect2D *pRects, Dispatch const &d=Dispatch()) const
Result createFramebuffer(const FramebufferCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Framebuffer *pFramebuffer, Dispatch const &d=Dispatch()) const
float viewportBoundsRange[2]
Definition: vulkan.hpp:22295
CommandPoolCreateInfo & operator=(VkCommandPoolCreateInfo const &rhs)
Definition: vulkan.hpp:21477
BindImageMemorySwapchainInfoKHR(VkBindImageMemorySwapchainInfoKHR const &rhs)
Definition: vulkan.hpp:13532
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderStorageTexelBufferArrayDynamicIndexing(Bool32 shaderStorageTexelBufferArrayDynamicIndexing_)
Definition: vulkan.hpp:15866
Definition: vulkan_core.h:235
PFN_vkEndCommandBuffer vkEndCommandBuffer
Definition: vulkan.hpp:42015
bool operator!=(ValidationFlagsEXT const &rhs) const
Definition: vulkan.hpp:24401
Definition: vulkan.hpp:4975
PFN_vkGetEventStatus vkGetEventStatus
Definition: vulkan.hpp:42047
BindImageMemoryInfo & operator=(VkBindImageMemoryInfo const &rhs)
Definition: vulkan.hpp:13024
SpecializationMapEntry & setSize(size_t size_)
Definition: vulkan.hpp:5515
VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
const PipelineInputAssemblyStateCreateInfo * pInputAssemblyState
Definition: vulkan.hpp:22093
Definition: vulkan_core.h:546
StructureType sType
Definition: vulkan.hpp:12723
Definition: vulkan_core.h:493
Definition: vulkan.hpp:3342
Definition: vulkan_core.h:1033
PhysicalDeviceDescriptorIndexingFeaturesEXT & setRuntimeDescriptorArray(Bool32 runtimeDescriptorArray_)
Definition: vulkan.hpp:15968
SystemError(int ev, std::error_category const &ecat, char const *what)
Definition: vulkan.hpp:657
bool operator<(Image const &rhs) const
Definition: vulkan.hpp:2979
BindBufferMemoryInfo & setMemory(DeviceMemory memory_)
Definition: vulkan.hpp:12900
VkResult vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache *pSrcCaches) const
Definition: vulkan.hpp:2225
void vkCmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const
Definition: vulkan.hpp:1233
void getGeneratedCommandsPropertiesNVX(DeviceGeneratedCommandsFeaturesNVX *pFeatures, DeviceGeneratedCommandsLimitsNVX *pLimits, Dispatch const &d=Dispatch()) const
Definition: vulkan.hpp:796
PhysicalDeviceFeatures & setShaderStorageImageArrayDynamicIndexing(Bool32 shaderStorageImageArrayDynamicIndexing_)
Definition: vulkan.hpp:6034
ExternalMemoryHandleTypeFlags handleTypes
Definition: vulkan.hpp:25657
PhysicalDeviceDiscardRectanglePropertiesEXT & setMaxDiscardRectangles(uint32_t maxDiscardRectangles_)
Definition: vulkan.hpp:14089
PipelineDepthStencilStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9868
StructureType sType
Definition: vulkan.hpp:38386
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, uint32_t *pSurfaceFormatCount, VkSurfaceFormat2KHR *pSurfaceFormats)
Definition: vulkan_core.h:5553
RectLayerKHR(Offset2D offset_=Offset2D(), Extent2D extent_=Extent2D(), uint32_t layer_=0)
Definition: vulkan.hpp:6610
VkResult vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers) const
Definition: vulkan.hpp:1113
uint32_t minSgprAllocation
Definition: vulkan.hpp:15802
VULKAN_HPP_CONSTEXPR ImageView(std::nullptr_t)
Definition: vulkan.hpp:3014
void(VKAPI_PTR * PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2772
Definition: vulkan_core.h:483
PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion
Definition: vulkan.hpp:42020
PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer
Definition: vulkan.hpp:41868
Flags< BitType > & operator|=(Flags< BitType > const &rhs)
Definition: vulkan.hpp:141
PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion
Definition: vulkan.hpp:42006
void beginRenderPass(const RenderPassBeginInfo *pRenderPassBegin, SubpassContents contents, Dispatch const &d=Dispatch()) const
CompositeAlphaFlagsKHR supportedCompositeAlpha
Definition: vulkan.hpp:23686
ComponentMapping & setR(ComponentSwizzle r_)
Definition: vulkan.hpp:7327
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingStorageTexelBufferUpdateAfterBind(Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_)
Definition: vulkan.hpp:15944
DedicatedAllocationImageCreateInfoNV & setPNext(const void *pNext_)
Definition: vulkan.hpp:11349
CommandBufferLevel
Definition: vulkan.hpp:7290
ImageSwapchainCreateInfoKHR & setPNext(const void *pNext_)
Definition: vulkan.hpp:13486
uint32_t swapchainCount
Definition: vulkan.hpp:12073
uint32_t vertexBindingDivisorCount
Definition: vulkan.hpp:16261
RenderPassMultiviewCreateInfo & setPViewMasks(const uint32_t *pViewMasks_)
Definition: vulkan.hpp:12801
const void * pNext
Definition: vulkan.hpp:15515
OwnerType getOwner() const
Definition: vulkan.hpp:1010
Definition: vulkan_core.h:977
PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT
Definition: vulkan.hpp:42159
ResultValueType< UniqueInstance >::type createInstanceUnique(const InstanceCreateInfo &createInfo, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch())
Definition: vulkan.hpp:38429
VkResult(VKAPI_PTR * PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchains)
Definition: vulkan_core.h:4957
VkResult vkCreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion) const
Definition: vulkan.hpp:1541
Bool32 shaderSampledImageArrayNonUniformIndexingNative
Definition: vulkan.hpp:16086
PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT
Definition: vulkan.hpp:42177
uint32_t minCommandsTokenBufferOffsetAlignment
Definition: vulkan.hpp:11825
SparseImageMemoryBindInfo(Image image_=Image(), uint32_t bindCount_=0, const SparseImageMemoryBind *pBinds_=nullptr)
Definition: vulkan.hpp:21201
Bool32 descriptorBindingUniformBufferUpdateAfterBind
Definition: vulkan.hpp:16025
Result setDebugUtilsObjectTagEXT(const DebugUtilsObjectTagInfoEXT *pTagInfo, Dispatch const &d=Dispatch()) const
const GLuint * fences
Definition: glext.h:10156
Viewport & setMaxDepth(float maxDepth_)
Definition: vulkan.hpp:5027
DeviceGeneratedCommandsLimitsNVX & setMinSequenceIndexBufferOffsetAlignment(uint32_t minSequenceIndexBufferOffsetAlignment_)
Definition: vulkan.hpp:11783
ColorComponentFlagBits
Definition: vulkan.hpp:18901
PipelineDynamicStateCreateInfo & setFlags(PipelineDynamicStateCreateFlags flags_)
Definition: vulkan.hpp:16701
void(VKAPI_PTR * PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy *pRegions)
Definition: vulkan_core.h:2834
void getSparseImageFormatProperties2KHR(const PhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, SparseImageFormatProperties2 *pProperties, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:350
PipelineColorBlendAdvancedStateCreateInfoEXT & setSrcPremultiplied(Bool32 srcPremultiplied_)
Definition: vulkan.hpp:28995
PipelineSampleLocationsStateCreateInfoEXT & setSampleLocationsInfo(SampleLocationsInfoEXT sampleLocationsInfo_)
Definition: vulkan.hpp:22826
DebugUtilsMessengerCallbackDataEXT & setMessageIdNumber(int32_t messageIdNumber_)
Definition: vulkan.hpp:17127
VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT *pSurfaceCapabilities) const
Definition: vulkan.hpp:2093
DebugMarkerObjectTagInfoEXT & operator=(VkDebugMarkerObjectTagInfoEXT const &rhs)
Definition: vulkan.hpp:23952
Semaphore semaphore
Definition: vulkan.hpp:13673
VkResult(VKAPI_PTR * PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display *dpy, RROutput rrOutput, VkDisplayKHR *pDisplay)
Definition: vulkan_xlib_xrandr.h:35
VkResult(VKAPI_PTR * PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion)
Definition: vulkan_core.h:5673
SampleCountFlags sampledImageIntegerSampleCounts
Definition: vulkan.hpp:22317
Definition: vulkan_core.h:586
bool operator!=(PhysicalDeviceIDProperties const &rhs) const
Definition: vulkan.hpp:12162
const char * pObjectName
Definition: vulkan.hpp:23932
DedicatedAllocationMemoryAllocateInfoNV & setImage(Image image_)
Definition: vulkan.hpp:11466
Rect2D & operator=(VkRect2D const &rhs)
Definition: vulkan.hpp:5075
FeatureNotPresentError(char const *message)
Definition: vulkan.hpp:729
VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy *pRegions)
bool operator!=(MemoryGetFdInfoKHR const &rhs) const
Definition: vulkan.hpp:25974
Definition: vulkan_core.h:602
Flags< FormatFeatureFlagBits, VkFormatFeatureFlags > FormatFeatureFlags
Definition: vulkan.hpp:19251
VkResult(VKAPI_PTR * PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT *pDeviceEventInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence)
Definition: vulkan_core.h:6543
Result getSwapchainImagesKHR(SwapchainKHR swapchain, uint32_t *pSwapchainImageCount, Image *pSwapchainImages, Dispatch const &d=Dispatch()) const
void vkDestroyValidationCacheEXT(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1731
bool operator==(BufferImageCopy const &rhs) const
Definition: vulkan.hpp:20356
bool operator!() const
Definition: vulkan.hpp:3532
bool operator==(ImportMemoryFdInfoKHR const &rhs) const
Definition: vulkan.hpp:25902
VkResult vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo, const VkAllocationCallbacks *pAllocator, VkDeviceMemory *pMemory) const
Definition: vulkan.hpp:1121
Definition: vulkan_core.h:4544
uint32_t memoryTypeBits
Definition: vulkan.hpp:15572
void vkDestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1707
VertexInputBindingDivisorDescriptionEXT & operator=(VkVertexInputBindingDivisorDescriptionEXT const &rhs)
Definition: vulkan.hpp:7085
VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(VkDevice device, const VkFenceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence)
bool operator==(DisplayPowerInfoEXT const &rhs) const
Definition: vulkan.hpp:27433
Definition: vulkan_core.h:986
bool operator==(DeviceGroupRenderPassBeginInfo const &rhs) const
Definition: vulkan.hpp:13217
Flags< StencilFaceFlagBits, VkStencilFaceFlags > StencilFaceFlags
Definition: vulkan.hpp:23042
void getFeatures2KHR(PhysicalDeviceFeatures2 *pFeatures, Dispatch const &d=Dispatch()) const
void vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties *pFormatProperties) const
Definition: vulkan.hpp:2003
SparseMemoryBindFlags flags
Definition: vulkan.hpp:21075
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX *const *ppObjectTableEntries, const uint32_t *pObjectIndices)
void vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange *pRanges) const
Definition: vulkan.hpp:1189
bool operator!=(Event const &rhs) const
Definition: vulkan.hpp:3711
Definition: vulkan_core.h:596
bool operator==(DebugUtilsLabelEXT const &rhs) const
Definition: vulkan.hpp:15498
void(VKAPI_PTR * PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
Definition: vulkan_core.h:2851
Result getGroupSurfacePresentModesKHR(SurfaceKHR surface, DeviceGroupPresentModeFlagsKHR *pModes, Dispatch const &d=Dispatch()) const
Result acquireNextImageKHR(SwapchainKHR swapchain, uint64_t timeout, Semaphore semaphore, Fence fence, uint32_t *pImageIndex, Dispatch const &d=Dispatch()) const
Definition: vulkan.hpp:20458
Bool32 multiDrawIndirect
Definition: vulkan.hpp:6226
Definition: vulkan_core.h:841
Format format
Definition: vulkan.hpp:18769
QueueFamilyProperties queueFamilyProperties
Definition: vulkan.hpp:17299
void setDepthBias(float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, Dispatch const &d=Dispatch()) const
ExportMemoryAllocateInfo & operator=(VkExportMemoryAllocateInfo const &rhs)
Definition: vulkan.hpp:25675
bool operator!=(DeviceGroupSubmitInfo const &rhs) const
Definition: vulkan.hpp:13382
SamplerCreateInfo & setAnisotropyEnable(Bool32 anisotropyEnable_)
Definition: vulkan.hpp:10137
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties)
Definition: vulkan_win32.h:95
StructureType sType
Definition: vulkan.hpp:20879
PhysicalDeviceSurfaceInfo2KHR & setSurface(SurfaceKHR surface_)
Definition: vulkan.hpp:14172
PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD
Definition: vulkan.hpp:41916
bool operator!=(ExtensionProperties const &rhs) const
Definition: vulkan.hpp:5186
bool operator!() const
Definition: vulkan.hpp:2862
Definition: vulkan_core.h:1007
Extent2D & operator=(VkExtent2D const &rhs)
Definition: vulkan.hpp:4877
bool operator!=(SparseMemoryBind const &rhs) const
Definition: vulkan.hpp:20979
VertexInputRate
Definition: vulkan.hpp:7891
PresentRegionKHR & setPRectangles(const RectLayerKHR *pRectangles_)
Definition: vulkan.hpp:6692
bool operator!=(DeviceQueueGlobalPriorityCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29203
uint32_t layerCount
Definition: vulkan.hpp:5169
VkResult vkEnumerateInstanceExtensionProperties(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) const
Definition: vulkan.hpp:1755
const void * pNext
Definition: vulkan.hpp:12857
Definition: vulkan_core.h:137
Definition: vulkan_core.h:5760
OwnerType m_owner
Definition: vulkan.hpp:1021
void getBufferMemoryRequirements(Buffer buffer, MemoryRequirements *pMemoryRequirements, Dispatch const &d=Dispatch()) const
Result submit(uint32_t submitCount, const SubmitInfo *pSubmits, Fence fence, Dispatch const &d=Dispatch()) const
ExternalMemoryBufferCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:25623
BufferImageCopy & setBufferRowLength(uint32_t bufferRowLength_)
Definition: vulkan.hpp:20321
bool operator!() const
Definition: vulkan.hpp:3934
BufferCreateInfo(BufferCreateFlags flags_=BufferCreateFlags(), DeviceSize size_=0, BufferUsageFlags usage_=BufferUsageFlags(), SharingMode sharingMode_=SharingMode::eExclusive, uint32_t queueFamilyIndexCount_=0, const uint32_t *pQueueFamilyIndices_=nullptr)
Definition: vulkan.hpp:18043
VkResult vkCreateIndirectCommandsLayoutNVX(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkIndirectCommandsLayoutNVX *pIndirectCommandsLayout) const
Definition: vulkan.hpp:1497
DescriptorImageInfo & operator=(VkDescriptorImageInfo const &rhs)
Definition: vulkan.hpp:7156
SamplerYcbcrConversionCreateInfo & setChromaFilter(Filter chromaFilter_)
Definition: vulkan.hpp:28865
GraphicsPipelineCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:21943
ConservativeRasterizationModeEXT conservativeRasterizationMode
Definition: vulkan.hpp:29438
VkResult vkGetPastPresentationTimingGOOGLE(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pPresentationTimingCount, VkPastPresentationTimingGOOGLE *pPresentationTimings) const
Definition: vulkan.hpp:1951
AccessFlags dstAccessMask
Definition: vulkan.hpp:20036
VkResult(VKAPI_PTR * PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo)
Definition: vulkan_core.h:5919
InternalAllocationType
Definition: vulkan.hpp:7868
PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT
Definition: vulkan.hpp:42170
Definition: vulkan_core.h:3747
Result getSurfaceFormatsKHR(SurfaceKHR surface, uint32_t *pSurfaceFormatCount, SurfaceFormatKHR *pSurfaceFormats, Dispatch const &d=Dispatch()) const
DescriptorUpdateTemplateCreateInfo(DescriptorUpdateTemplateCreateFlags flags_=DescriptorUpdateTemplateCreateFlags(), uint32_t descriptorUpdateEntryCount_=0, const DescriptorUpdateTemplateEntry *pDescriptorUpdateEntries_=nullptr, DescriptorUpdateTemplateType templateType_=DescriptorUpdateTemplateType::eDescriptorSet, DescriptorSetLayout descriptorSetLayout_=DescriptorSetLayout(), PipelineBindPoint pipelineBindPoint_=PipelineBindPoint::eGraphics, PipelineLayout pipelineLayout_=PipelineLayout(), uint32_t set_=0)
Definition: vulkan.hpp:16758
void vkGetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements) const
Definition: vulkan.hpp:1887
AcquireNextImageInfoKHR(SwapchainKHR swapchain_=SwapchainKHR(), uint64_t timeout_=0, Semaphore semaphore_=Semaphore(), Fence fence_=Fence(), uint32_t deviceMask_=0)
Definition: vulkan.hpp:13590
EventCreateInfo & operator=(VkEventCreateInfo const &rhs)
Definition: vulkan.hpp:10417
PipelineColorBlendStateCreateInfo(VkPipelineColorBlendStateCreateInfo const &rhs)
Definition: vulkan.hpp:19046
Offset3D dstOffsets[2]
Definition: vulkan.hpp:20289
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo)
StructureType sType
Definition: vulkan.hpp:31043
bool operator==(PhysicalDeviceImageFormatInfo2 const &rhs) const
Definition: vulkan.hpp:18748
void drawIndirect(Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1231
CmdProcessCommandsInfoNVX & setIndirectCommandsTokenCount(uint32_t indirectCommandsTokenCount_)
Definition: vulkan.hpp:37337
uint32_t aspectReferenceCount
Definition: vulkan.hpp:20627
uint32_t m_count
Definition: vulkan.hpp:338
ExternalMemoryBufferCreateInfo & operator=(VkExternalMemoryBufferCreateInfo const &rhs)
Definition: vulkan.hpp:25618
DisplayModeCreateFlagsKHR flags
Definition: vulkan.hpp:10683
Bool32 logicOpEnable
Definition: vulkan.hpp:19126
PhysicalDeviceFeatures & setSparseResidency8Samples(Bool32 sparseResidency8Samples_)
Definition: vulkan.hpp:6118
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkSurfaceCapabilities2KHR *pSurfaceCapabilities)
Definition: vulkan_core.h:5552
VULKAN_HPP_CONSTEXPR ImageView()
Definition: vulkan.hpp:3010
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties)
VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayPlanePropertiesKHR *pProperties) const
Definition: vulkan.hpp:1955
struct nk_device device
Definition: nk_common.c:44
ShaderModuleCreateFlagBits
Definition: vulkan.hpp:2482
ImageBlit(VkImageBlit const &rhs)
Definition: vulkan.hpp:20234
Result bindSparse(uint32_t bindInfoCount, const BindSparseInfo *pBindInfo, Fence fence, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:214
void(VKAPI_PTR * PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2757
MemoryDedicatedAllocateInfo & setImage(Image image_)
Definition: vulkan.hpp:14545
CmdProcessCommandsInfoNVX & setSequencesCountOffset(DeviceSize sequencesCountOffset_)
Definition: vulkan.hpp:37367
bool operator!=(DeviceGeneratedCommandsLimitsNVX const &rhs) const
Definition: vulkan.hpp:11811
DescriptorSetVariableDescriptorCountAllocateInfoEXT & setDescriptorSetCount(uint32_t descriptorSetCount_)
Definition: vulkan.hpp:16134
uint64_t VkDeviceSize
Definition: vulkan_core.h:70
ValidationFlagsEXT(VkValidationFlagsEXT const &rhs)
Definition: vulkan.hpp:24360
Flags< DebugReportFlagBitsEXT, VkDebugReportFlagsEXT > DebugReportFlagsEXT
Definition: vulkan.hpp:23728
const AttachmentReference * pDepthStencilAttachment
Definition: vulkan.hpp:28489
uint32_t maxMemoryAllocationCount
Definition: vulkan.hpp:22240
bool operator==(AttachmentSampleLocationsEXT const &rhs) const
Definition: vulkan.hpp:22647
VkResult(VKAPI_PTR * PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR *pImportSemaphoreFdInfo)
Definition: vulkan_core.h:5296
PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR
Definition: vulkan.hpp:42010
DedicatedAllocationMemoryAllocateInfoNV & operator=(VkDedicatedAllocationMemoryAllocateInfoNV const &rhs)
Definition: vulkan.hpp:11455
DisplaySurfaceCreateFlagBitsKHR
Definition: vulkan.hpp:2520
Definition: vulkan_core.h:954
ResultValueType< std::vector< UniquePipeline, Allocator > >::type createComputePipelinesUnique(PipelineCache pipelineCache, ArrayProxy< const ComputePipelineCreateInfo > createInfos, Optional< const AllocationCallbacks > allocator=nullptr, Dispatch const &d=Dispatch()) const
uint32_t baseArrayLayer
Definition: vulkan.hpp:5168
PhysicalDeviceExternalMemoryHostPropertiesEXT & setMinImportedHostPointerAlignment(DeviceSize minImportedHostPointerAlignment_)
Definition: vulkan.hpp:15599
bool operator==(ClearDepthStencilValue const &rhs) const
Definition: vulkan.hpp:5693
unsigned __int64 uint64_t
Definition: stdint.h:136
Definition: vulkan_core.h:5751
VULKAN_HPP_CONSTEXPR DescriptorPool(std::nullptr_t)
Definition: vulkan.hpp:3483
VkResult vkImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR *pImportFenceFdInfo) const
Definition: vulkan.hpp:2197
bool operator!=(PhysicalDeviceExternalSemaphoreInfo const &rhs) const
Definition: vulkan.hpp:26249
PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR
Definition: vulkan.hpp:42186
bool operator!=(BufferViewCreateInfo const &rhs) const
Definition: vulkan.hpp:9214
ImageResolve & setSrcOffset(Offset3D srcOffset_)
Definition: vulkan.hpp:20407
PhysicalDeviceFeatures & setInheritedQueries(Bool32 inheritedQueries_)
Definition: vulkan.hpp:6142
Definition: vulkan_core.h:135
void(VKAPI_PTR * PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)
Definition: vulkan_core.h:4372
void debugMarkerBeginEXT(const DebugMarkerMarkerInfoEXT *pMarkerInfo, Dispatch const &d=Dispatch()) const
void vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties) const
Definition: vulkan.hpp:2035
uint32_t computeWorkGroupSize[3]
Definition: vulkan.hpp:18522
DisplayPresentInfoKHR & setSrcRect(Rect2D srcRect_)
Definition: vulkan.hpp:10713
StencilOpState & setDepthFailOp(StencilOp depthFailOp_)
Definition: vulkan.hpp:7787
PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT
Definition: vulkan.hpp:41926
void pushConstants(PipelineLayout layout, ShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void *pValues, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:178
CommandBufferInheritanceInfo(VkCommandBufferInheritanceInfo const &rhs)
Definition: vulkan.hpp:19453
DisplayEventInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:27536
const uint32_t * pCorrelationMasks
Definition: vulkan.hpp:12863
VULKAN_HPP_CONSTEXPR RenderPass(std::nullptr_t)
Definition: vulkan.hpp:3885
RenderPassSampleLocationsBeginInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:22734
bool operator!=(Semaphore const &rhs) const
Definition: vulkan.hpp:3644
bool operator!=(QueueFamilyProperties const &rhs) const
Definition: vulkan.hpp:17263
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties)
Definition: vulkan_core.h:637
Result createDevice(const DeviceCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, Device *pDevice, Dispatch const &d=Dispatch()) const
uint32_t depth
Definition: vulkan.hpp:4971
bool operator!() const
Definition: vulkan.hpp:2996
Result getSurfaceFormats2KHR(const PhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, uint32_t *pSurfaceFormatCount, SurfaceFormat2KHR *pSurfaceFormats, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:3826
Definition: vulkan_core.h:552
bool operator==(MemoryDedicatedAllocateInfo const &rhs) const
Definition: vulkan.hpp:14562
unsigned char uint8_t
Definition: stdint.h:124
Definition: vulkan_core.h:888
VkFence m_fence
Definition: vulkan.hpp:3605
bool operator==(LayerProperties const &rhs) const
Definition: vulkan.hpp:5203
VkResult vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const
Definition: vulkan.hpp:2281
ObjectTablePipelineEntryNVX & operator=(VkObjectTablePipelineEntryNVX const &rhs)
Definition: vulkan.hpp:24961
QueryPoolCreateFlags flags
Definition: vulkan.hpp:19680
void bindPipeline(PipelineBindPoint pipelineBindPoint, Pipeline pipeline, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:9295
ComputePipelineCreateInfo & setBasePipelineHandle(Pipeline basePipelineHandle_)
Definition: vulkan.hpp:18855
Definition: vulkan_core.h:3803
unsigned int uint32_t
Definition: stdint.h:126
Flags< QueryPipelineStatisticFlagBits, VkQueryPipelineStatisticFlags > QueryPipelineStatisticFlags
Definition: vulkan.hpp:19421
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties)
const uint32_t * pCommandBufferDeviceMasks
Definition: vulkan.hpp:13395
uint32_t subpassCount
Definition: vulkan.hpp:12858
const void * pNext
Definition: vulkan.hpp:13002
Definition: vulkan_core.h:595
bool operator!=(PhysicalDeviceVariablePointerFeatures const &rhs) const
Definition: vulkan.hpp:12127
void vkDestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks *pAllocator) const
Definition: vulkan.hpp:1727
Definition: vulkan_core.h:702
Optional(std::nullptr_t)
Definition: vulkan.hpp:241
LogicError(const std::string &what)
Definition: vulkan.hpp:635
Result getMemoryHostPointerPropertiesEXT(ExternalMemoryHandleTypeFlagBits handleType, const void *pHostPointer, MemoryHostPointerPropertiesEXT *pMemoryHostPointerProperties, Dispatch const &d=Dispatch()) const
GLsizei const GLenum * attachments
Definition: glext.h:8715
VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks *pAllocator)
SparseImageMemoryBindInfo & setBindCount(uint32_t bindCount_)
Definition: vulkan.hpp:21224
DeviceSize imageMipTailSize
Definition: vulkan.hpp:20823
bool operator!=(DescriptorSetLayoutSupport const &rhs) const
Definition: vulkan.hpp:15386
CommandPoolResetFlagBits
Definition: vulkan.hpp:21528
PhysicalDeviceDescriptorIndexingFeaturesEXT & setShaderUniformTexelBufferArrayDynamicIndexing(Bool32 shaderUniformTexelBufferArrayDynamicIndexing_)
Definition: vulkan.hpp:15860
const void * pNext
Definition: vulkan.hpp:9964
uint32_t maxImageArrayLayers
Definition: vulkan.hpp:23683
Definition: vulkan.hpp:20224
void vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo *pRenderPassBegin, VkSubpassContents contents) const
Definition: vulkan.hpp:1161
StencilOpState & setCompareMask(uint32_t compareMask_)
Definition: vulkan.hpp:7799
PipelineVertexInputStateCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9399
Bool32 variablePointersStorageBuffer
Definition: vulkan.hpp:12137
PFN_vkGetFenceStatus vkGetFenceStatus
Definition: vulkan.hpp:42049
VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
Result getSwapchainStatusKHR(SwapchainKHR swapchain, Dispatch const &d=Dispatch()) const
PFN_vkCmdWaitEvents vkCmdWaitEvents
Definition: vulkan.hpp:41915
VkResult(VKAPI_PTR * PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate)
Definition: vulkan_core.h:4378
uint32_t srcBinding
Definition: vulkan.hpp:9132
int32_t y
Definition: vulkan.hpp:4800
VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo)
DescriptorSetVariableDescriptorCountAllocateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:16128
Flags< ExternalSemaphoreHandleTypeFlagBits, VkExternalSemaphoreHandleTypeFlags > ExternalSemaphoreHandleTypeFlags
Definition: vulkan.hpp:26186
PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT
Definition: vulkan.hpp:42167
void drawIndirectCountAMD(Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d=Dispatch()) const
ExportSemaphoreCreateInfo & operator=(VkExportSemaphoreCreateInfo const &rhs)
Definition: vulkan.hpp:26277
PipelineShaderStageCreateInfo & setPName(const char *pName_)
Definition: vulkan.hpp:18296
bool operator!=(ImageViewUsageCreateInfo const &rhs) const
Definition: vulkan.hpp:18627
Format imageFormat
Definition: vulkan.hpp:28088
char layerName[VK_MAX_EXTENSION_NAME_SIZE]
Definition: vulkan.hpp:5216
uint32_t minSequenceIndexBufferOffsetAlignment
Definition: vulkan.hpp:11824
AllocationCallbacks & setPfnFree(PFN_vkFreeFunction pfnFree_)
Definition: vulkan.hpp:5263
SparseBufferMemoryBindInfo(VkSparseBufferMemoryBindInfo const &rhs)
Definition: vulkan.hpp:21088
float height
Definition: vulkan.hpp:5056
ImageLayout layout
Definition: vulkan.hpp:7249
PipelineCreateFlagBits
Definition: vulkan.hpp:18779
VkResult vkBindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos) const
Definition: vulkan.hpp:1149
Bool32 shaderStorageTexelBufferArrayDynamicIndexing
Definition: vulkan.hpp:16017
PhysicalDeviceFeatures(VkPhysicalDeviceFeatures const &rhs)
Definition: vulkan.hpp:5808
VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4])
const PresentTimeGOOGLE * pTimes
Definition: vulkan.hpp:13857
SemaphoreCreateInfo & operator=(VkSemaphoreCreateInfo const &rhs)
Definition: vulkan.hpp:10472
DeviceGeneratedCommandsLimitsNVX(VkDeviceGeneratedCommandsLimitsNVX const &rhs)
Definition: vulkan.hpp:11749
RefreshCycleDurationGOOGLE(uint64_t refreshDuration_=0)
Definition: vulkan.hpp:6772
Definition: vulkan_core.h:1268
bool operator!() const
Definition: vulkan.hpp:3398
PipelineLayout pipelineLayout
Definition: vulkan.hpp:25269
Definition: vulkan_core.h:1295
SparseMemoryBind(DeviceSize resourceOffset_=0, DeviceSize size_=0, DeviceMemory memory_=DeviceMemory(), DeviceSize memoryOffset_=0, SparseMemoryBindFlags flags_=SparseMemoryBindFlags())
Definition: vulkan.hpp:20916
DeviceGroupDeviceCreateInfo & setPPhysicalDevices(const PhysicalDevice *pPhysicalDevices_)
Definition: vulkan.hpp:38361
BufferImageCopy & setBufferImageHeight(uint32_t bufferImageHeight_)
Definition: vulkan.hpp:20327
PipelineColorBlendAttachmentState & operator=(VkPipelineColorBlendAttachmentState const &rhs)
Definition: vulkan.hpp:18948
DescriptorType descriptorType
Definition: vulkan.hpp:9025
Flags< SemaphoreCreateFlagBits, VkSemaphoreCreateFlags > SemaphoreCreateFlags
Definition: vulkan.hpp:2480
Definition: vulkan_core.h:211
DescriptorSetLayoutBindingFlagsCreateInfoEXT & operator=(VkDescriptorSetLayoutBindingFlagsCreateInfoEXT const &rhs)
Definition: vulkan.hpp:29484
PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationMode(CoverageModulationModeNV coverageModulationMode_)
Definition: vulkan.hpp:29084
ApplicationInfo & setPApplicationName(const char *pApplicationName_)
Definition: vulkan.hpp:8613
PFN_vkCreateBufferView vkCreateBufferView
Definition: vulkan.hpp:41922
SemaphoreGetFdInfoKHR & setHandleType(ExternalSemaphoreHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:26418
Definition: vulkan_core.h:966
ObjectTableCreateInfoNVX & setPObjectEntryTypes(const ObjectEntryTypeNVX *pObjectEntryTypes_)
Definition: vulkan.hpp:24806
CmdReserveSpaceForCommandsInfoNVX & setIndirectCommandsLayout(IndirectCommandsLayoutNVX indirectCommandsLayout_)
Definition: vulkan.hpp:11860
uint32_t timestampValidBits
Definition: vulkan.hpp:17270
StructureType sType
Definition: vulkan.hpp:17401
StructureType sType
Definition: vulkan.hpp:19316
FramebufferCreateInfo & setLayers(uint32_t layers_)
Definition: vulkan.hpp:10580
const DescriptorBindingFlagsEXT * pBindingFlags
Definition: vulkan.hpp:29531
bool operator==(PhysicalDeviceProtectedMemoryFeatures const &rhs) const
Definition: vulkan.hpp:14848
void(VKAPI_PTR * PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:6350
PipelineRasterizationStateCreateInfo & setDepthBiasClamp(float depthBiasClamp_)
Definition: vulkan.hpp:9778
void setHdrMetadataEXT(uint32_t swapchainCount, const SwapchainKHR *pSwapchains, const HdrMetadataEXT *pMetadata, Dispatch const &d=Dispatch()) const
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR *pMemoryFdProperties)
bool operator==(BufferCreateInfo const &rhs) const
Definition: vulkan.hpp:18110
PipelineViewportSwizzleStateCreateFlagBitsNV
Definition: vulkan.hpp:2624
Definition: vulkan_core.h:623
Extent2D & setWidth(uint32_t width_)
Definition: vulkan.hpp:4882
Definition: vulkan_core.h:1609
uint32_t maxGeometryOutputComponents
Definition: vulkan.hpp:22275
StructureType sType
Definition: vulkan.hpp:9017
Definition: vulkan_core.h:931
VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer, uint32_t deviceMask)
DeviceGroupDeviceCreateInfo & setPhysicalDeviceCount(uint32_t physicalDeviceCount_)
Definition: vulkan.hpp:38355
bool operator!=(MultisamplePropertiesEXT const &rhs) const
Definition: vulkan.hpp:15041
uint32_t maxDrawIndexedIndexValue
Definition: vulkan.hpp:22289
float globalAlpha
Definition: vulkan.hpp:23646
VkResult(VKAPI_PTR * PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT *pDisplayEventInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence)
Definition: vulkan_core.h:6544
uint32_t maxImageCount
Definition: vulkan.hpp:23679
VkDebugReportObjectTypeEXT
Definition: vulkan_core.h:5740
Definition: vulkan_core.h:6196
bool operator<(CommandPool const &rhs) const
Definition: vulkan.hpp:2778
RefType const * operator->() const
Definition: vulkan.hpp:244
ImageFormatListCreateInfoKHR & operator=(VkImageFormatListCreateInfoKHR const &rhs)
Definition: vulkan.hpp:15161
bool operator!=(DebugUtilsMessengerCallbackDataEXT const &rhs) const
Definition: vulkan.hpp:17196
bool operator!=(ExternalImageFormatProperties const &rhs) const
Definition: vulkan.hpp:26126
Flags< PipelineTessellationStateCreateFlagBits, VkPipelineTessellationStateCreateFlags > PipelineTessellationStateCreateFlags
Definition: vulkan.hpp:2432
uint32_t maxDescriptorSetUniformBuffers
Definition: vulkan.hpp:22253
ObjectTableIndexBufferEntryNVX & setFlags(ObjectEntryUsageFlagsNVX flags_)
Definition: vulkan.hpp:25162
Bool32 shaderStorageImageMultisample
Definition: vulkan.hpp:6247
SubpassDependency & setSrcSubpass(uint32_t srcSubpass_)
Definition: vulkan.hpp:23222
Definition: vulkan_core.h:1317
VkResult vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBufferView *pView) const
Definition: vulkan.hpp:1419
Definition: vulkan_core.h:1470
uint32_t viewportSubPixelBits
Definition: vulkan.hpp:22296
Definition: vulkan_core.h:6036
InstanceCreateFlags flags
Definition: vulkan.hpp:8768
BufferCreateInfo & setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_)
Definition: vulkan.hpp:18093
HdrMetadataEXT(XYColorEXT displayPrimaryRed_=XYColorEXT(), XYColorEXT displayPrimaryGreen_=XYColorEXT(), XYColorEXT displayPrimaryBlue_=XYColorEXT(), XYColorEXT whitePoint_=XYColorEXT(), float maxLuminance_=0, float minLuminance_=0, float maxContentLightLevel_=0, float maxFrameAverageLightLevel_=0)
Definition: vulkan.hpp:13681
int fd
Definition: vulkan.hpp:27260
bool operator!=(BindImageMemoryDeviceGroupInfo const &rhs) const
Definition: vulkan.hpp:13150
DescriptorSet srcSet
Definition: vulkan.hpp:9131
Definition: vulkan_core.h:835
Definition: vulkan_core.h:559
BufferViewCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:9162
DescriptorPoolSize(VkDescriptorPoolSize const &rhs)
Definition: vulkan.hpp:7399
DisplayModeParametersKHR parameters
Definition: vulkan.hpp:10684
Definition: vulkan_core.h:6197
Definition: vulkan_core.h:1496
StructureType sType
Definition: vulkan.hpp:9961
Definition: vulkan_core.h:1011
Extent3D extent
Definition: vulkan.hpp:20220
PhysicalDeviceDescriptorIndexingFeaturesEXT & setDescriptorBindingStorageImageUpdateAfterBind(Bool32 descriptorBindingStorageImageUpdateAfterBind_)
Definition: vulkan.hpp:15926
SamplerYcbcrConversionCreateInfo & setYcbcrModel(SamplerYcbcrModelConversion ycbcrModel_)
Definition: vulkan.hpp:28835
uint32_t maxPushConstantsSize
Definition: vulkan.hpp:22239
PFN_vkDestroyBuffer vkDestroyBuffer
Definition: vulkan.hpp:41982
const void * pNext
Definition: vulkan.hpp:14199
Bool32 prefersDedicatedAllocation
Definition: vulkan.hpp:14514
VkResult vkGetSwapchainStatusKHR(VkDevice device, VkSwapchainKHR swapchain) const
Definition: vulkan.hpp:2189
PipelineCoverageToColorStateCreateInfoNV(PipelineCoverageToColorStateCreateFlagsNV flags_=PipelineCoverageToColorStateCreateFlagsNV(), Bool32 coverageToColorEnable_=0, uint32_t coverageToColorLocation_=0)
Definition: vulkan.hpp:14926
void(VKAPI_PTR * PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX *pProcessCommandsInfo)
Definition: vulkan_core.h:6347
PhysicalDeviceFeatures & setDepthBounds(Bool32 depthBounds_)
Definition: vulkan.hpp:5902
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(VkDevice device, const VkFenceGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
LayerNotPresentError(char const *message)
Definition: vulkan.hpp:713
bool operator==(ExternalSemaphoreProperties const &rhs) const
Definition: vulkan.hpp:26489
StructureType sType
Definition: vulkan.hpp:18765
SparseMemoryBind & setFlags(SparseMemoryBindFlags flags_)
Definition: vulkan.hpp:20959
bool operator!=(DebugMarkerMarkerInfoEXT const &rhs) const
Definition: vulkan.hpp:11317
VULKAN_HPP_TYPESAFE_EXPLICIT Instance(VkInstance instance)
Definition: vulkan.hpp:37485
Extent2D physicalDimensions
Definition: vulkan.hpp:23526
InstanceCreateInfo(InstanceCreateFlags flags_=InstanceCreateFlags(), const ApplicationInfo *pApplicationInfo_=nullptr, uint32_t enabledLayerCount_=0, const char *const *ppEnabledLayerNames_=nullptr, uint32_t enabledExtensionCount_=0, const char *const *ppEnabledExtensionNames_=nullptr)
Definition: vulkan.hpp:8679
uint32_t dstArrayElement
Definition: vulkan.hpp:9023
Definition: vulkan_core.h:502
Definition: vulkan_core.h:939
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
PFN_vkDeviceWaitIdle vkDeviceWaitIdle
Definition: vulkan.hpp:42013
const void * pNext
Definition: vulkan.hpp:20741
PushConstantRange(ShaderStageFlags stageFlags_=ShaderStageFlags(), uint32_t offset_=0, uint32_t size_=0)
Definition: vulkan.hpp:18344
StructureType sType
Definition: vulkan.hpp:13579
Fence & operator=(std::nullptr_t)
Definition: vulkan.hpp:3566
Definition: vulkan_core.h:650
void(VKAPI_PTR * PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo *pRenderPassBegin, VkSubpassContents contents)
Definition: vulkan_core.h:2854
uint32_t vertexCount
Definition: vulkan.hpp:6366
bool operator==(PipelineColorBlendAdvancedStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29018
DeviceSize allocationSize
Definition: vulkan.hpp:8836
SubpassDescription & setPreserveAttachmentCount(uint32_t preserveAttachmentCount_)
Definition: vulkan.hpp:28446
void vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport) const
Definition: vulkan.hpp:1813
bool operator!=(DescriptorPool const &rhs) const
Definition: vulkan.hpp:3510
PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR
Definition: vulkan.hpp:42119
void getQueueFamilyProperties(uint32_t *pQueueFamilyPropertyCount, QueueFamilyProperties *pQueueFamilyProperties, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1352
uint32_t discardRectangleCount
Definition: vulkan.hpp:28341
DebugUtilsObjectNameInfoEXT(ObjectType objectType_=ObjectType::eUnknown, uint64_t objectHandle_=0, const char *pObjectName_=nullptr)
Definition: vulkan.hpp:16921
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6844
VULKAN_HPP_TYPESAFE_EXPLICIT DescriptorSet(VkDescriptorSet descriptorSet)
Definition: vulkan.hpp:3353
SamplerCreateInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:10083
PresentInfoKHR(uint32_t waitSemaphoreCount_=0, const Semaphore *pWaitSemaphores_=nullptr, uint32_t swapchainCount_=0, const SwapchainKHR *pSwapchains_=nullptr, const uint32_t *pImageIndices_=nullptr, Result *pResults_=nullptr)
Definition: vulkan.hpp:16562
Definition: vulkan_core.h:1024
GLuint object
Definition: glsym_es2.h:109
SparseImageMemoryBindInfo(VkSparseImageMemoryBindInfo const &rhs)
Definition: vulkan.hpp:21208
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorPool *pDescriptorPool)
void destroyPipelineLayout(PipelineLayout pipelineLayout, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1088
PhysicalDeviceSparseImageFormatInfo2 & setPNext(const void *pNext_)
Definition: vulkan.hpp:22458
VkResult vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines) const
Definition: vulkan.hpp:1427
AccessFlags srcAccessMask
Definition: vulkan.hpp:20035
Definition: vulkan_core.h:487
void(VKAPI_PTR * PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2794
SpecializationInfo(uint32_t mapEntryCount_=0, const SpecializationMapEntry *pMapEntries_=nullptr, size_t dataSize_=0, const void *pData_=nullptr)
Definition: vulkan.hpp:5546
VULKAN_HPP_TYPESAFE_EXPLICIT Buffer(VkBuffer buffer)
Definition: vulkan.hpp:2817
MemoryGetFdInfoKHR & operator=(VkMemoryGetFdInfoKHR const &rhs)
Definition: vulkan.hpp:25938
Definition: vulkan_core.h:5762
InstanceCreateFlagBits
Definition: vulkan.hpp:2458
PhysicalDeviceMultiviewFeatures & setMultiviewGeometryShader(Bool32 multiviewGeometryShader_)
Definition: vulkan.hpp:12691
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR *pImportSemaphoreFdInfo)
PFN_vkCreateEvent vkCreateEvent
Definition: vulkan.hpp:41934
PipelineViewportStateCreateInfo & setViewportCount(uint32_t viewportCount_)
Definition: vulkan.hpp:9639
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
Definition: vulkan_core.h:936
void trimCommandPoolKHR(CommandPool commandPool, CommandPoolTrimFlags flags=CommandPoolTrimFlags(), Dispatch const &d=Dispatch()) const
DeviceGroupCommandBufferBeginInfo(uint32_t deviceMask_=0)
Definition: vulkan.hpp:13246
void drawIndexedIndirectCountAMD(Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d=Dispatch()) const
Viewport & setMinDepth(float minDepth_)
Definition: vulkan.hpp:5021
DeviceSize sequencesCountOffset
Definition: vulkan.hpp:37423
Bool32 shaderInputAttachmentArrayDynamicIndexing
Definition: vulkan.hpp:16015
ImportSemaphoreFdInfoKHR & setHandleType(ExternalSemaphoreHandleTypeFlagBits handleType_)
Definition: vulkan.hpp:26675
Bool32 residencyNonResidentStrict
Definition: vulkan.hpp:6300
void waitEvents(uint32_t eventCount, const Event *pEvents, PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const MemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const BufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const ImageMemoryBarrier *pImageMemoryBarriers, Dispatch const &d=Dispatch()) const
SharingMode
Definition: vulkan.hpp:7574
VULKAN_HPP_TYPESAFE_EXPLICIT CommandPool(VkCommandPool commandPool)
Definition: vulkan.hpp:2750
VkResult vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorPool *pDescriptorPool) const
Definition: vulkan.hpp:1439
Definition: vulkan.hpp:27399
bool operator!=(DescriptorUpdateTemplate const &rhs) const
Definition: vulkan.hpp:4180
PipelineCoverageModulationStateCreateInfoNV & setPCoverageModulationTable(const float *pCoverageModulationTable_)
Definition: vulkan.hpp:29102
DispatchIndirectCommand & operator=(VkDispatchIndirectCommand const &rhs)
Definition: vulkan.hpp:6465
VkResult(VKAPI_PTR * PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR *pAcquireInfo, uint32_t *pImageIndex)
Definition: vulkan_core.h:4763
Definition: vulkan_core.h:144
VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer *pBuffers, const VkDeviceSize *pOffsets)
bool operator==(ImageMemoryBarrier const &rhs) const
Definition: vulkan.hpp:20011
void vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const
Definition: vulkan.hpp:1261
Definition: vulkan_core.h:1354
const DeviceQueueCreateInfo * pQueueCreateInfos
Definition: vulkan.hpp:17521
VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos)
const void * pNext
Definition: vulkan.hpp:9371
PipelineVertexInputDivisorStateCreateInfoEXT & operator=(VkPipelineVertexInputDivisorStateCreateInfoEXT const &rhs)
Definition: vulkan.hpp:16215
Bool32 depthWriteEnable
Definition: vulkan.hpp:9967
ImageViewCreateFlagBits
Definition: vulkan.hpp:2470
Bool32 sparseResidency2Samples
Definition: vulkan.hpp:6265
DebugReportObjectTypeEXT objectType
Definition: vulkan.hpp:24019
const SubpassDependency * pDependencies
Definition: vulkan.hpp:28600
CommandPoolCreateInfo(CommandPoolCreateFlags flags_=CommandPoolCreateFlags(), uint32_t queueFamilyIndex_=0)
Definition: vulkan.hpp:21466
BlendFactor
Definition: vulkan.hpp:7662
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures)
bool operator==(DebugUtilsMessengerCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:29334
bool operator<(DisplayModeKHR const &rhs) const
Definition: vulkan.hpp:4457
bool operator==(DisplayPropertiesKHR const &rhs) const
Definition: vulkan.hpp:23508
Definition: vulkan_core.h:1037
PresentRegionsKHR & operator=(VkPresentRegionsKHR const &rhs)
Definition: vulkan.hpp:12027
RenderPassBeginInfo(RenderPass renderPass_=RenderPass(), Framebuffer framebuffer_=Framebuffer(), Rect2D renderArea_=Rect2D(), uint32_t clearValueCount_=0, const ClearValue *pClearValues_=nullptr)
Definition: vulkan.hpp:10316
Definition: vulkan_core.h:659
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayPropertiesKHR *pProperties)
Definition: vulkan_core.h:4893
bool operator!=(ValidationCacheCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:15269
Definition: vulkan_core.h:897
bool operator==(ViewportSwizzleNV const &rhs) const
Definition: vulkan.hpp:28165
DeviceSize nonCoherentAtomSize
Definition: vulkan.hpp:22336
Definition: vulkan_core.h:6967
float lineWidthRange[2]
Definition: vulkan.hpp:22329
DescriptorUpdateTemplateEntry & setOffset(size_t offset_)
Definition: vulkan.hpp:7488
VULKAN_HPP_TYPESAFE_EXPLICIT Pipeline(VkPipeline pipeline)
Definition: vulkan.hpp:3152
bool operator==(DeviceMemory const &rhs) const
Definition: vulkan.hpp:2701
SurfaceTransformFlagBitsKHR currentTransform
Definition: vulkan.hpp:27330
#define VULKAN_HPP_CONSTEXPR
Definition: vulkan.hpp:91
VULKAN_HPP_CONSTEXPR PipelineLayout(std::nullptr_t)
Definition: vulkan.hpp:3215
bool operator!=(SubmitInfo const &rhs) const
Definition: vulkan.hpp:31037
Definition: vulkan_core.h:504
IndirectCommandsLayoutCreateInfoNVX & setFlags(IndirectCommandsLayoutUsageFlagsNVX flags_)
Definition: vulkan.hpp:24710
GLint GLint GLsizei GLsizei height
Definition: glext.h:6293
MemoryDedicatedAllocateInfo(VkMemoryDedicatedAllocateInfo const &rhs)
Definition: vulkan.hpp:14529
Definition: vulkan_core.h:4567
ExportFenceCreateInfo & operator=(VkExportFenceCreateInfo const &rhs)
Definition: vulkan.hpp:26822
Definition: vulkan_core.h:7093
DeviceCreateInfo & setPpEnabledExtensionNames(const char *const *ppEnabledExtensionNames_)
Definition: vulkan.hpp:17478
bool operator!=(PipelineVertexInputDivisorStateCreateInfoEXT const &rhs) const
Definition: vulkan.hpp:16251
ImageCopy & setExtent(Extent3D extent_)
Definition: vulkan.hpp:20191
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSemaphore *pSemaphore)
void vkCmdReserveSpaceForCommandsNVX(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX *pReserveSpaceInfo) const
Definition: vulkan.hpp:1317
PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT
Definition: vulkan.hpp:41985
DescriptorSetLayoutBinding(uint32_t binding_=0, DescriptorType descriptorType_=DescriptorType::eSampler, uint32_t descriptorCount_=0, ShaderStageFlags stageFlags_=ShaderStageFlags(), const Sampler *pImmutableSamplers_=nullptr)
Definition: vulkan.hpp:18175
uint32_t maxSamplerAllocationCount
Definition: vulkan.hpp:22241
void * pNext
Definition: vulkan.hpp:20852
Bool32 descriptorBindingStorageImageUpdateAfterBind
Definition: vulkan.hpp:16027
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)
Definition: vulkan_core.h:2730
const SwapchainKHR * pSwapchains
Definition: vulkan.hpp:16654
bool operator==(QueryPool const &rhs) const
Definition: vulkan.hpp:3773
void(VKAPI_PTR * PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask)
Definition: vulkan_core.h:5080
VkClearColorValue color
Definition: vulkan.hpp:5742
void destroySamplerYcbcrConversion(SamplerYcbcrConversion ycbcrConversion, const AllocationCallbacks *pAllocator, Dispatch const &d=Dispatch()) const
float x
Definition: vulkan.hpp:7038
PipelineLayoutCreateInfo & setPPushConstantRanges(const PushConstantRange *pPushConstantRanges_)
Definition: vulkan.hpp:18453
BindImageMemorySwapchainInfoKHR & operator=(VkBindImageMemorySwapchainInfoKHR const &rhs)
Definition: vulkan.hpp:13537
void * pNext
Definition: vulkan.hpp:26165
const T & front() const
Definition: vulkan.hpp:310
bool operator!=(SubpassDescription const &rhs) const
Definition: vulkan.hpp:28477
bool operator!=(AttachmentDescription const &rhs) const
Definition: vulkan.hpp:23018
IndirectCommandsLayoutNVX & operator=(std::nullptr_t)
Definition: vulkan.hpp:4102
SwapchainCounterCreateInfoEXT & operator=(VkSwapchainCounterCreateInfoEXT const &rhs)
Definition: vulkan.hpp:27349
SamplerCreateInfo & setFlags(SamplerCreateFlags flags_)
Definition: vulkan.hpp:10089
bool operator==(DebugMarkerObjectTagInfoEXT const &rhs) const
Definition: vulkan.hpp:23998
Definition: vulkan_core.h:1355
bool operator<(Instance const &rhs) const
Definition: vulkan.hpp:37513
Result createBufferView(const BufferViewCreateInfo *pCreateInfo, const AllocationCallbacks *pAllocator, BufferView *pView, Dispatch const &d=Dispatch()) const
const Type & get() const
Definition: vulkan.hpp:404
PFN_vkCmdSetScissor vkCmdSetScissor
Definition: vulkan.hpp:41908
CommandPoolCreateInfo(VkCommandPoolCreateInfo const &rhs)
Definition: vulkan.hpp:21472
StructureType sType
Definition: vulkan.hpp:19206
bool operator==(MemoryFdPropertiesKHR const &rhs) const
Definition: vulkan.hpp:12294
DeviceSize size
Definition: vulkan.hpp:5417
uint32_t maxGeometryOutputVertices
Definition: vulkan.hpp:22276
BorderColor
Definition: vulkan.hpp:7538
VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2 *pQueueInfo, VkQueue *pQueue)
void(VKAPI_PTR * PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
Definition: vulkan_core.h:2839
DebugUtilsObjectNameInfoEXT * pObjects
Definition: vulkan.hpp:17215
VkResult(VKAPI_PTR * PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t *pDisplayCount, VkDisplayKHR *pDisplays)
Definition: vulkan_core.h:4895
uint32_t maxTessellationControlPerVertexOutputComponents
Definition: vulkan.hpp:22268
VULKAN_HPP_CONSTEXPR CommandPool(std::nullptr_t)
Definition: vulkan.hpp:2746
BufferCopy(DeviceSize srcOffset_=0, DeviceSize dstOffset_=0, DeviceSize size_=0)
Definition: vulkan.hpp:5426
bool operator!() const
Definition: vulkan.hpp:4068
void(VKAPI_PTR * PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
Definition: vulkan_core.h:2832
Bool32 inheritedQueries
Definition: vulkan.hpp:6271
DebugUtilsMessengerCallbackDataEXT(VkDebugUtilsMessengerCallbackDataEXT const &rhs)
Definition: vulkan.hpp:17099
Definition: vulkan_core.h:126
void(VKAPI_PTR * PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:2807
Definition: vulkan_core.h:1973
PhysicalDeviceFeatures & setDepthClamp(Bool32 depthClamp_)
Definition: vulkan.hpp:5884
void drawIndexed(uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance, Dispatch const &d=Dispatch()) const
VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue *pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange *pRanges)
StructureType sType
Definition: vulkan.hpp:15512
SubmitInfo & setPNext(const void *pNext_)
Definition: vulkan.hpp:30971
Definition: vulkan_android.h:88
bool operator==(ApplicationInfo const &rhs) const
Definition: vulkan.hpp:8648
void(VKAPI_PTR * PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy *pRegions)
Definition: vulkan_core.h:2833
PipelineCoverageModulationStateCreateInfoNV & operator=(VkPipelineCoverageModulationStateCreateInfoNV const &rhs)
Definition: vulkan.hpp:29067
PhysicalDeviceVertexAttributeDivisorPropertiesEXT & operator=(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs)
Definition: vulkan.hpp:16278
bool operator==(ImageViewUsageCreateInfo const &rhs) const
Definition: vulkan.hpp:18620
bool operator!=(ImageFormatProperties2 const &rhs) const
Definition: vulkan.hpp:22421
SystemError(std::error_code ec, std::string const &what)
Definition: vulkan.hpp:649
Definition: vulkan_core.h:1353
Buffer sequencesCountBuffer
Definition: vulkan.hpp:37422
bool operator!=(FormatProperties2 const &rhs) const
Definition: vulkan.hpp:19310
PresentRegionKHR & operator=(VkPresentRegionKHR const &rhs)
Definition: vulkan.hpp:6681
DebugReportCallbackCreateInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:23767
const SparseImageMemoryBind * pBinds
Definition: vulkan.hpp:21255
void * memcpy(void *dst, const void *src, size_t len)
Definition: string.c:26
uint32_t deviceID
Definition: vulkan.hpp:22368
Definition: vulkan_core.h:354
SampleLocationsInfoEXT & setPNext(const void *pNext_)
Definition: vulkan.hpp:22550
StructureType sType
Definition: vulkan.hpp:24749
AccessFlags dstAccessMask
Definition: vulkan.hpp:17971
bool operator!=(MappedMemoryRange const &rhs) const
Definition: vulkan.hpp:8898
StencilOp depthFailOp
Definition: vulkan.hpp:7840
Result getImageFormatProperties2(const PhysicalDeviceImageFormatInfo2 *pImageFormatInfo, ImageFormatProperties2 *pImageFormatProperties, Dispatch const &d=Dispatch()) const
Definition: vulkan_core.h:1436
DisplayModeParametersKHR & setRefreshRate(uint32_t refreshRate_)
Definition: vulkan.hpp:6558
const void * pNext
Definition: vulkan.hpp:25366
const float * pQueuePriorities
Definition: vulkan.hpp:17408
DeviceSize dstOffset
Definition: vulkan.hpp:5479
Definition: vulkan_core.h:7092
PhysicalDeviceSurfaceInfo2KHR(VkPhysicalDeviceSurfaceInfo2KHR const &rhs)
Definition: vulkan.hpp:14156
PipelineInputAssemblyStateCreateInfo & setPrimitiveRestartEnable(Bool32 primitiveRestartEnable_)
Definition: vulkan.hpp:9506
void(VKAPI_PTR * PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
Definition: vulkan_core.h:5980
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion)
VkResult(VKAPI_PTR * PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t *pInfoSize, void *pInfo)
Definition: vulkan_core.h:6064
Definition: vulkan_core.h:896
Definition: vulkan_core.h:616
Definition: vulkan_core.h:1074
DrawIndirectCommand & operator=(VkDrawIndirectCommand const &rhs)
Definition: vulkan.hpp:6319
Definition: vulkan_core.h:1365
const Rect2D * pScissors
Definition: vulkan.hpp:9693
Extent2D visibleRegion
Definition: vulkan.hpp:6580
Bool32 variableMultisampleRate
Definition: vulkan.hpp:6270
DebugUtilsMessengerCreateFlagsEXT flags
Definition: vulkan.hpp:29355
const DescriptorBufferInfo * pBufferInfo
Definition: vulkan.hpp:9027
bool operator==(PhysicalDeviceFeatures const &rhs) const
Definition: vulkan.hpp:6153
ExternalFenceHandleTypeFlagBits
Definition: vulkan.hpp:26719
void(VKAPI_PTR * PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers)
Definition: vulkan_core.h:2857
DedicatedAllocationImageCreateInfoNV(Bool32 dedicatedAllocation_=0)
Definition: vulkan.hpp:11334
Definition: vulkan_core.h:631
void(VKAPI_PTR * PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks *pAllocator)
Definition: vulkan_core.h:6352
PFN_vkDestroyDevice vkDestroyDevice
Definition: vulkan.hpp:41991
DeviceGroupRenderPassBeginInfo & setDeviceRenderAreaCount(uint32_t deviceRenderAreaCount_)
Definition: vulkan.hpp:13200
VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate(std::nullptr_t)
Definition: vulkan.hpp:4153
DeviceSize size
Definition: vulkan.hpp:18133
HdrMetadataEXT & setMaxLuminance(float maxLuminance_)
Definition: vulkan.hpp:13733
InvalidShaderNVError(char const *message)
Definition: vulkan.hpp:825
Definition: vulkan_core.h:934
BindSparseInfo & setWaitSemaphoreCount(uint32_t waitSemaphoreCount_)
Definition: vulkan.hpp:21291
FramebufferCreateInfo & setWidth(uint32_t width_)
Definition: vulkan.hpp:10568
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)
Definition: vulkan_core.h:1192
Definition: vulkan_core.h:1189
PresentRegionsKHR & setSwapchainCount(uint32_t swapchainCount_)
Definition: vulkan.hpp:12038
EventCreateInfo & setFlags(EventCreateFlags flags_)
Definition: vulkan.hpp:10428
Bool32 samplerAnisotropy
Definition: vulkan.hpp:6236
ExternalMemoryImageCreateInfoNV(ExternalMemoryHandleTypeFlagsNV handleTypes_=ExternalMemoryHandleTypeFlagsNV())
Definition: vulkan.hpp:24118
BindSparseInfo & setSignalSemaphoreCount(uint32_t signalSemaphoreCount_)
Definition: vulkan.hpp:21339
Definition: vulkan_core.h:2178
bool operator!=(PhysicalDeviceMaintenance3Properties const &rhs) const
Definition: vulkan.hpp:15355
SurfaceLostKHRError(std::string const &message)
Definition: vulkan.hpp:783
const void * pNext
Definition: vulkan.hpp:21784
VkResult vkGetEventStatus(VkDevice device, VkEvent event) const
Definition: vulkan.hpp:1865
StructureType sType
Definition: vulkan.hpp:17071
void dispatchBaseKHR(uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const &d=Dispatch()) const
VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(VkDevice device, VkEvent event)
bool operator==(SparseImageFormatProperties const &rhs) const
Definition: vulkan.hpp:20782
bool operator!=(Sampler const &rhs) const
Definition: vulkan.hpp:3309
void vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D *pDiscardRectangles) const
Definition: vulkan.hpp:1353
Definition: vulkan_core.h:1183
Definition: vulkan_core.h:1316
static const char * features[]
Definition: version_features.c:34
StructureType sType
Definition: vulkan.hpp:20738
AttachmentDescription & setLoadOp(AttachmentLoadOp loadOp_)
Definition: vulkan.hpp:22964
PhysicalDeviceSurfaceInfo2KHR(SurfaceKHR surface_=SurfaceKHR())
Definition: vulkan.hpp:14151
PipelineDepthStencilStateCreateInfo & setBack(StencilOpState back_)
Definition: vulkan.hpp:9916
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo *pExternalSemaphoreInfo, VkExternalSemaphoreProperties *pExternalSemaphoreProperties)
bool operator!=(ShaderStatisticsInfoAMD const &rhs) const
Definition: vulkan.hpp:18511
uint32_t maxPerStageDescriptorUpdateAfterBindSamplers
Definition: vulkan.hpp:16092
PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups
Definition: vulkan.hpp:42021
Definition: vulkan_core.h:1257
DeviceSize minImportedHostPointerAlignment
Definition: vulkan.hpp:15627
PFN_vkCreatePipelineCache vkCreatePipelineCache
Definition: vulkan.hpp:41952
RenderPassCreateFlags flags
Definition: vulkan.hpp:28594
PhysicalDeviceConservativeRasterizationPropertiesEXT(VkPhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs)
Definition: vulkan.hpp:15646
Viewport & setY(float y_)
Definition: vulkan.hpp:5003
Result flushMappedMemoryRanges(uint32_t memoryRangeCount, const MappedMemoryRange *pMemoryRanges, Dispatch const &d=Dispatch()) const
StructureType sType
Definition: vulkan.hpp:15361